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

如题实验了一下,发现没用,还是只能用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的功能,与操作系统没有关系。

Posted in 未分类

发表评论