在IDLE中运行Python脚本时,如何传递命令行参数?
我正在测试一些用Python写的代码,这些代码可以解析命令行输入。请问有没有办法通过IDLE来输入这些内容?现在我是在IDLE编辑器里保存代码,然后从命令提示符运行它。
我使用的是Windows系统。
12 个回答
6
这里有几种我能想到的方法:
1) 如果你想的话,可以直接在IDLE控制台上调用你的“主”函数,并传入参数。
2) 你可以在调用主函数前加一行测试代码,给它提供一个参数数组(或者创建一个单元测试来做同样的事情),或者直接设置sys.argv。
3) 你可以在控制台上以交互模式运行python,并传入参数:
C:\> python.exe -i some.py arg1 arg2
12
在紧急情况下,Seth的第二个方法有效了……
2) 你可以在主函数调用前加一行测试代码,给它提供一组参数(或者创建一个单元测试来做同样的事情),或者直接设置sys.argv。
比如……
sys.argv = ["wordcount.py", "--count", "small.txt"]
36
看起来IDLE这个工具没有提供通过图形界面来实现这个功能的方法,不过你可以尝试这样做:
idle.py -r scriptname.py arg1 arg2 arg3
你也可以手动设置 sys.argv
,像这样:
try:
__file__
except:
sys.argv = [sys.argv[0], 'argument1', 'argument2', 'argument2']
(感谢 http://wayneandlayne.com/2009/04/14/using-command-line-arguments-in-python-in-idle/)