当前位置:Gxlcms >
Python >
windows系统下,首行#!/usr/bin/envpython是不是没有用?
windows系统下,首行#!/usr/bin/envpython是不是没有用?
时间:2021-07-01 10:21:17
帮助过:94人阅读
如题
实验了一下,发现没用,还是只能用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的功能,与操作系统没有关系。