0

可能重复:
如何使 python 脚本在 Windows 上可执行?
在 Windows 上设置 Python 以不在 cmd 中键入 python

我希望能够使用一个命令(即filename -p parameter1)执行 Python 脚本,而无需键入python filename.py -p parameter1. 我尝试添加 Windows shebang 行;但是,当我在命令行中执行 .\filename.py 时,它会完全打开一个新的 shell,只需要足够长的时间让输出在屏幕上闪烁,然后窗口就会关闭。有什么方法可以运行该脚本并输出到当前控制台?

此外,我能做些什么来摆脱对 .py 扩展名的需求并使其可从任何目录调用吗?

4

2 回答 2

2

设置 PATHEXT 环境变量以包含 .PY 扩展名。请参阅http://www.voidspace.org.uk/python/articles/command_line.shtml#pathext

于 2012-07-26T18:30:53.690 回答
0

shebang 行在 Windows 中不受尊重,尽管我仍然将它放在我的代码中,以供参考我在创建的每个脚本中使用的 Python 版本。

我建议为您在 Windows 中创建的每个 PY 脚本制作一个 BAT 文件。鉴于可以在同一系统上安装多个版本的 Python,这有助于避免版本冲突,并且可以满足您的需求:

给定“filename.py”,制作“filename.bat”。假设 python27,BAT 文件将包含:

@REM Need to unset "PYTHONPATH=C:\Program Files\ArcGIS\bin"
@REM so that "import zlib" can properly work.
@set PYTHONPATH=
@"C:\python27\python.exe" "C:\fullpath\to\my\file\filename.py" %*

如果你想保持简单,你只需要使用最后一行。请注意,@ 符号使 BAT 文件不回显该行。%* 告诉 BAT 文件将所有参数传递给您的 python 脚本。只要 BAT 文件在您的路径中,您就可以从任何地方将其称为“filename.bat”或“filename”。

于 2012-07-27T03:06:36.457 回答