欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

windows系统下,首行# !/usr/bin/env python是不是没有用?

程序员文章站 2022-03-26 11:57:00
...
如题
实验了一下,发现没用,还是只能用python+文件名运行。
或者是我打开方式不对?我是在powershell中进入文件所在文件夹然后直接输入文件名的,提示加.\后,就是直接打开那个文件,不是在powershell中运行。
windows系统下,首行# !/usr/bin/env python是不是没有用?

回复内容:

用cygwin里的shell就可以了,真的需要的话。
或者用这里的方法 unix - Use shebang/hashbang in Windows Command Prompt
google搜“windows shebang”有真相。 是。 你可以在git bash里面运行。power shell是不行的,如果在windows下写python最好还是装一个git bash,比较方便。
windows系统下,首行# !/usr/bin/env python是不是没有用? windows系统下,首行# !/usr/bin/env python是不是没有用?# !/usr/bin/env python
这个是用于*nix环境下的,它是用于指定执行的程序,不适用于Windows系统。直接在dos/powershell,./xx.py,是会用文件关联的程序打开,如果你关联的是记事本就是记事本打开,如果是python就是python来执行(当然程序执行很快可能窗口一闪而过),关联程序可以右键属性来设置。 没用的,类unix系统才是根据文件头决定脚本运行方式。windows是根据文件后缀决定打开方式的。


你应该设定.py后缀的文件,用python.exe打开。


如果要带参数, 这个有个专业词汇,叫 Shebang (Unix)

还有类似的:
#! /usr/bin/sh
#! /usr/bin/ruby 两个系统设计的不同,这行在win下是无用的。

就像我是歌手胡彦斌看的是二胡,李健看的是白雪公主。

建议你看下*nux的入门书,很基本的一个问题,跟两个平台的【.***】类似

这句话的意思是,让这个目录下的程序执行这段代码,但是win下的路径不和*nix路径实现方式相同,所以基本上这行代码在win下是废的。 这个归咎于操作系统 mingw的bash可以用,cygwin的shell也可以。

所以归根结底是shell的功能,与操作系统没有关系。
相关标签: powershell python