栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python脚本,参数未传输到脚本

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python脚本,参数未传输到脚本

无法获取参数的原因是因为您破坏了.py关联,因此可以双击这些文件以在NotePad ++中打开它们,然后破坏.pyw关联以执行.py应该做的事情。

简而言之,您忘记

%*
为您的“自定义”(混杂).pyw关联在Python.exe命令行的末尾添加。

ASSOC和FTYPE命令用于显示关联和文件类型,即运行什么程序来处理具有特定扩展名的文件。这些命令在我的系统上产生的是:

C:test>assoc .py.py=Python.FileC:test>assoc .pyw.pyw=Python.NoConFileC:test>ftype python.filepython.file="C:Python27python.exe" "%1" %*C:test>ftype python.noconfilepython.noconfile="C:Python27pythonw.exe" "%1" %*

普通的.py关联通过控制台窗口运行python.exe,以便您可以查看打印语句的输出。

普通的.pyw关联在没有控制台窗口的情况下运行pythonw.exe。

您可以在每个命令行的末尾看到一个

%*
。这就是将参数发送到命令的原因。(实际上,它
%1
是第一个参数,
%*
表示“所有其余参数”。)

当您尝试在命令行中运行python文件而不输入扩展名或初始的“ python”命令时,会发生一些事情。

首先,使用PATHEXT环境变量来查找匹配的扩展名。在您的情况下,它会发现您的命令名“ gcc_opt” + .PYW会生成匹配的文件。

然后,查找.PYW文件的关联,找到文件类型Python.NoConFile,在您的情况下,该文件类型设置为“
python.exe”(假定为pythonw.exe)。(您可以在注册表中的HKEY_CLASSES_ROOT下看到它们。)

然后,系统会根据为该文件类型找到的命令模板创建实际的命令行,在您的情况下,这可能是

"[your-python-path]python.exe" "%1"

这告诉它仅使用第一个参数,即python脚本名称“ gcc_opt.pyw”。

快速解决方案是在

%*
该命令的末尾添加。

正确的修复方法是将内容放回正确的关联并以更标准的方法打开Python文件进行编辑(将图标拖放到NotePad 上,或者右键单击并使用NotePad

编辑)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647322.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号