【发布时间】:2011-12-13 05:40:55
【问题描述】:
我有一堆用 Python 编写的脚本。我从像
这样的 Windows 命令提示符运行它们c:> my_script.py arg1 arg2 arg3
自多年前以来,这适用于每台计算机和每个 Windows 版本。刚才它在我的 Windows 7 系统上坏了。脚本被加载并执行。但是没有任何参数被传递到脚本中。
为了说明这一点,我有一个名为 py_echo.py 的脚本:
from pprint import pprint as pp
import sys
if __name__ =='__main__':
pp(sys.argv)
然后我使用参数 a、b、c 执行它。没有一个通过。
c:\Python27\Lib\site-packages>py_echo.py a b c
['C:\\0\\usr\\bin\\py_echo.py']
如果我显式运行 python.exe,则参数传递正确
c:\Python27\Lib\site-packages>python.exe c:\0\usr\bin\py_echo.py a b c
['c:\\0\\usr\\bin\\py_echo.py', 'a', 'b', 'c']
它以前工作过。它只是在我从我的 PC 上卸载了一堆旧版本的 Python 解释器和模块后才开始崩溃。重新安装 Python 没有帮助。我想知道我能做些什么来解决这个问题??
我已经变得非常依赖我多年来构建的脚本。当他们打破时,我感到非常不利:(
【问题讨论】:
-
谢谢大家。我发现 Perl 上的另一个线程指向相同的解决方案。 stackoverflow.com/questions/444388/…
-
Python 也一样:stackoverflow.com/questions/2437167/…。 (不过,解决方案在 Windows 7 上不起作用)。
标签: python windows command-line command-line-arguments