如何知道python从命令行运行?

嗨,我注意到,每当从命令行(使用Windows 8.1)我键入

python file.py

它自动知道我打算写python.exe file.py

这是怎么做到的?

我安装了Anaconda,我知道我有一个指向python.exe的环境variables。 但是这并不能解释为什么我不需要每次inputpython.exe。

这不是一个Python功能。 操作系统和PATH变量定义了不带文件扩展名的调用可执行文件的行为。 维基百科有一个很好的答案你的问题PATH(变量)


当一个命令进入命令shell或系统调用程序执行程序时,系统首先搜索当前工作目录,然后搜索路径,从左到右检查每个目录,寻找一个可执行文件名与给定的命令名称相匹配。

可执行文件之后的文件名可能是一切。 所以如果你想要,你可以调用python demo.txt 。 如果文件内容对python是可读的,它也将被执行。

使用该路径搜索Python。 在环境变量列表中找到PATH。

如果你不写Python,只需双击文件,搜索注册表。

你可以在命令行中使用ftype和assoc来查看文件和程序的关联。 请参阅http://www.fileformat.info/tip/microsoft/assocftype.htm

如果你省略了扩展名,注册表也被搜索到。 这个cmd shell搜索环境变量PATHEXT和注册表以查找python.exe。 之后,它使用注册表来查找位置。

当你在Spyder中注册你的python发行版时,就会做出这些改变。

你可以通过使用ftype和assoc来显示这个信息,就像我在一开始写的那样。