当前位置: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的功能,与操作系统没有关系。

人气教程排行