如何解决Windows无法将args传递给python脚本
| 在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。
解决方法
我在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页面可以提供一些更详细的背景。
http://technet.microsoft.com/zh-CN/library/bb490912.aspx
,基于jtp的答案。
好吧,我有点搞乱了注册表。
我认为这是步骤:
在做
assoc .py = Python.File
通过win资源管理器选择一个.py文件,右键单击-> x64->打开方式>浏览到c:\\ Python26 \\ python.exe,选择“始终使用此方式打开..”框。
这实际上会立即更改reg值
HKEY_CURRENT_USER \\ Software \\ Microsoft \\ Windows \\ CurrentVersion \\ Explorer \\ FileExts.py \\ UserChoice to Python.File
将HKEY_CLASSES_ROOT \\ Python.File \\ shell \\ Open \\ Command设置为
\“ C:\\ Python26 \\ python.exe \” \“%1 \”%2%3%4%5%6%7%8%9
注意:根据以前的经验,我确定事情会与混合版本混在一起。
卸载/重新安装是必经之路。顺便说一句,我不想因为所有软件包(包括我从源代码构建的软件包)来经历这种混乱,所以会一团糟。
,我知道这不能回答您的问题,但是ѭ7是执行Python脚本的标准方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。