在IDLE中运行Python脚本时,如何传递命令行参数?

45 投票
12 回答
89936 浏览
提问于 2025-04-15 18:33

我正在测试一些用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/)

撰写回答