使用.py文件作为命令行参数调用python解释器不起作用

时间:2018-06-27 17:04:25

标签: python command-line

我已将路径环境变量设置为包括python解释器以及“ python_scripts”文件夹。我可以从机器上的任何位置分别调用python解释器或位于“ python_scripts”文件夹中的任何.py文件,如下所示:

C:\> python.exe
Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 
bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

C:\> test_code.py

,它们都可以正常工作。但是,当我调用python解释器后跟脚本名称时:

C:\> python.exe test_code.py

除非我位于“ python_scripts”文件夹中,否则它返回以下错误:

python: can't open file 'test_code.py': [Errno 2] No such file or directory

为什么会这样?

4 个答案:

答案 0 :(得分:3)

如果使用C:\> python.exe test_code.py,它将在当前目录中查找test_code.py。如果将参数传递给python.exe,则该参数必须是存在的文件的有效绝对路径或相对路径。

答案 1 :(得分:2)

这意味着该文件位于Windows %PATH%变量中。当您执行python.exe时,它会出现在各种位置。例如,如果您的PATH看起来像:C:\;"C:\Program Files\Python 3\";C:\Users\user\python_scripts,它将尝试C:\python.exe,然后尝试C:\Program Files\Python 3\python.exe并找到Python。

执行test_code.py时,它会以C:\Users\user\python_scripts\test_code.py的形式找到(例如)。

调用python.exe时,它只会读取文件名,而不会尝试解析路径。

Python使用不同的导入路径,可以将其视为sys.path

您可以使用.pth中的python\Lib\site-packages文件来扩展它。

例如,如果您添加具有以下内容的user_pth.pth文件:

C:\Users\user\python_scripts\

然后您可以从任何文件进行import test_code

因此,您可以通过将代码作为模块运行来调用pythons导入器:

python.exe -m test_code

答案 2 :(得分:0)

您应为python.exe提供脚本python.exe的完整路径。 c:\ test_code.py

答案 3 :(得分:0)

我将环境变量复制为
C:\Python\Python38;C:\Users\ronegi\Desktop\PERSONAL\EDUREKA PYTHON

现在,当我打开Python.exe并在出现提示后,按如下所示键入
Hello_world.py
它在下面抛出错误: error message

我尝试了所有尝试。