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

时间:2015-08-24 05:54:29

标签: python windows windows-8 windows-8.1 anaconda

您好我注意到,无论何时从命令行(使用Windows 8.1),我都会输入

python file.py

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

它是如何做到的?

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

2 个答案:

答案 0 :(得分:1)

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

如果您不编写python并只是双击该文件,则会搜索注册表。

您可以使用命令行中的ftype和assoc查看文件和文件与程序的关联。参见例如http://www.fileformat.info/tip/microsoft/assocftype.htm

如果省略扩展名,则还会搜索注册表。此cmd shell搜索环境变量PATHEXT和注册表以查找python.exe。在此之后,它正在使用注册表来查找位置。

当您在Spyder中注册python发行版时,会进行这些更改。

你可以像我在开头写的一样使用ftype和assoc来揭示这些信息。

答案 1 :(得分:1)


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

  

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

可执行文件后面的文件名可以是一切。因此,如果您愿意,可以致电python demo.txt。如果文件内容对于python是可读的,那么它也将被执行。