windows系统下,首行# !/usr/bin/env python是不是没有用?
程序员文章站
2022-03-26 11:57:00
...
如题
实验了一下,发现没用,还是只能用python+文件名运行。
或者是我打开方式不对?我是在powershell中进入文件所在文件夹然后直接输入文件名的,提示加.\后,就是直接打开那个文件,不是在powershell中运行。
或者用这里的方法 unix - Use shebang/hashbang in Windows Command Prompt。
google搜“windows shebang”有真相。 是。 你可以在git bash里面运行。power shell是不行的,如果在windows下写python最好还是装一个git bash,比较方便。
# !/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的功能,与操作系统没有关系。
实验了一下,发现没用,还是只能用python+文件名运行。
或者是我打开方式不对?我是在powershell中进入文件所在文件夹然后直接输入文件名的,提示加.\后,就是直接打开那个文件,不是在powershell中运行。
回复内容:
用cygwin里的shell就可以了,真的需要的话。或者用这里的方法 unix - Use shebang/hashbang in Windows Command Prompt。
google搜“windows shebang”有真相。 是。 你可以在git bash里面运行。power shell是不行的,如果在windows下写python最好还是装一个git bash,比较方便。
# !/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的功能,与操作系统没有关系。