我想从 DOS shell 命令行(或从 .bat 文件)调用 Python 脚本,语法如下:
C:\python27\python myscript.py
该脚本myscript.py
位于目录c:\a_process\python_lib
. 我希望能够让 Python 通过搜索路径找到该脚本,因此当我的当前目录是任意的(如C:\junk
)时我可以调用它。我的问题是我无法找出 Python 用于在调用 Python 的命令行上指示的脚本的路径(如果有的话)。我已经搜索了 Python 文档、SO 和网络,但确实没有发现任何有用的信息。(我在 Python 本身中发现了很多关于命令行解析的东西,这不是我想要的)。
我adt_python_lib.pth
在目录中有一个文件C:\Python27\Lib\site-packages
并验证它是否有效(我可以导入位于那里的模块。)作为一个实验,我还尝试设置PYTHONPATH
环境变量(通过输入SET
DOS shell 并查看该行来验证
PYTHONPATH=C:\a_process\python_lib
在输出中。对于它的价值,我还调用了 Python 并做了一个sys.path
,我可以看到它确实C:\a_process\python_lib
如预期的那样列在路径中:['', 'c:\\a_process\\python_lib', ...]
我发现的最接近的 SO 问题是Executing python program。
这似乎暗示(但没有说明)没有搜索 Python 调用命令行上指示的文件的路径。如果有人可以权威地声明这是正确的,那么我将恢复为另一种选择(可能只是直接添加c:\a_process\python_lib
并%PATH%
调用脚本)。