通过Windows命令行运行Python脚本

时间:2017-04-17 13:37:20

标签: python windows shell command-line scripting

我刚刚开始使用Mark Luts使用学习Python 学习Python。在他的书中,他提供了一个通过Windows shell调用的简单脚本示例。在示例中,他调用如下:

C:\code> python script1.py

我已经离开并修改了我的机器上的环境变量,以便我可以调用

C:\User\Example> python

打开翻译,我也可以打电话给

C:\User\Example> script1

运行我已编写并放在所需目录中的脚本。我的问题是我不能打电话

C:\User\Example> python script1.py

在我的命令行中,就像他在书中所做的那样。他提到了有关PYTHONPATH环境变量的一些内容,但是,这个变量并不存在于我的机器上。我只有'路径',' TEMP'和' TMP'。特别是,当我尝试拨打这样的电话时,我收到了错误

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

为了让这种命令在命令行上正常工作,我该怎么做?

2 个答案:

答案 0 :(得分:2)

从书中(第44页,第4版):

  

最后,如果脚本位于与您工作的目录不同的目录中,请记住提供脚本的完整路径。

对于您的情况,这意味着使用

C:\User\Example> python C:\User\Example\my_scripts\script1.py

您可以编写一个批处理文件,在预定义的目录中查找脚本:

@echo off
setlocal
PATH=C:\User\Example\Python36;%PATH%
SCRIPT_DIR=C:\User\Example\my_scripts
python %SCRIPT_DIR\%*

答案 1 :(得分:0)

您正在python的上下文中调用C:\User\Example,并向其传递要通过解释器(script1.py)运行的文件的名称。很明显,PATH变量已正确设置,因此您可以从计算机上的任何位置调用python,因为我们可以看到它正在运行但实际上无法找到您的脚本。

但是,您在评论中说明您的脚本实际位于C:\User\Example\my_scripts。换句话说,您正在传递python一个不存在的文件名! (至少从C:\User\Example的意见。)

您需要位于脚本目录中,以便python可执行文件能够找到它。

或者,您可以运行python命令并为其提供有关脚本位置的更多信息。例如,如果您在python .\my_scripts\script1.py的竞赛中运行,并且您的脚本位于C:\User\Example,则可以运行C:\User\Example\my_scripts