在py_script.py中:
import os
import sys
l = len(sys.argv)
if l == 1:
print 'no args'
else:
if l > 1:
print 'first arg is %s'%sys.argv[1]
if l > 2:
print 'second arg is %s'%sys.argv[2]
现在正在命令行,在我的winXP平台上:
d:\path\py_script.py 1 2
产量
first arg is 1
second arg is 2
但是在我的Win7平台上我得到了
no args
如果我这样做
d:\path\python py_script.py 1 2
我得到了
first arg is 1
second arg is 2
如何让Win7环境按预期运行?
一些细节:
win7是64位。
win7上的py2.6.6,winXP上的py 2.6.4。
答案 0 :(得分:5)
我在Win 7上使用2.7.1。
如果只想通过文件扩展名调用Python程序,则应检查文件类型关联和命令行参数。我在Windows上安装/重新安装多个版本的Python时遇到了问题。
C:\dv>assoc .py
.py=Python.File
C:\dv>ftype Python.File
Python.File="C:\Python27\python.exe" "%1" %*
此TechNet页面可以提供更详细的背景信息。
答案 1 :(得分:1)
基于jtp的回答。
好吧,我搞砸了注册表。
这就是我认为的步骤:
操作
assoc .py = Python.File
通过win explorer选择.py文件,右键单击 - > x64 - >打开>浏览到c:\ Python26 \ python.exe选择'总是打开这个..'框。 这实际上会立即改变reg值
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.py \ UserChoice
至
Python.File
注意:根据之前的经验,我确信预计会混淆混合版本。 卸载/重新安装应该是要走的路。顺便说一下,我不想通过所有包裹来解决这个问题,包括我从源码中构建的包裹,这将是一团糟。
答案 2 :(得分:0)
我知道这不能回答你的问题,但python py_script.py
是执行Python脚本的标准方法。