繁体   English   中英

通过Windows命令行运行Python脚本

[英]Running Python scripts through the Windows Command Line

我刚刚开始使用Mark Luts的Learning 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

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

从这本书(第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\%*

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM