位的背景。 我为VFX工作室工作,过去我们只是使用记事本或记事本++来修改其他程序的.py文件,但实际上没有人使用python。
所以我现在已经推出了Python自动化脚本,除了一个问题外,他们工作得很好。 以前有python脚本与python以外的东西关联的任何机器都会失败。
该脚本被调用一个参数:
myScript.py <argument>
那么我使用:
print sys.argv versionName = sys.argv[1]
这对所有从来没有与任何python文件关联的机器都有效,但是之前与另外一个应用程序关联的python机器出现故障,它不会读取参数,并且我得到一个列表索引或范围错误。 打印行显示它也没有正确接收input。
任何想法如何解决这个问题?
编辑:脚本运行时返回这个:
z:\pythonScripts>Make_version_1.py test ['Z:\\pythonscripts\\Make_Version_1.py'] Traceback (most recent call last): File "Z:\PythonScripts\Make_version_1.py", line 20, in <module> versionName = sys.argv[1] IndexError: list Out of range
这个错误不是从办公室的大多数机器上返回的。只是在安装了python 2.7.6之前.py文件已经与另一个程序关联的情况下,所以我知道代码有效。
你需要告诉Windows你想传递参数给python。 打开命令提示符,然后执行此操作:
assoc .py=PythonFile ftype PythonFile=python.exe %1 %*
只是想分享,我解决了这个问题。 显然,关联.py文件会在安装过程中破坏Windows路径的设置。 在我的主机上我不需要调整它,但是现在我已经在所有机器上添加了;c:\python27;c:\python27\scripts
到环境变量。 现在它工作正常