如何在IDLE中向Python程序传递命令行参数?

8 投票
2 回答
26325 浏览
提问于 2025-04-16 11:03

我下载了一个名为 xxxxxx.py 的 Python 文件,应该可以通过命令行运行,输入:python xxxxxx.py filename1 filename2,这样就可以把这两个文件作为参数传进去。

我在想,有没有办法在 IDLE 中传递这些参数?除了设置 sys.argv 之外,还有其他方法吗?

谢谢!

2 个回答

6

这要看你的Python文件内容写得怎么样。如果写得不错,比如:

#! /usr/bin/env python

def process(files):
   for file in files:
       # ...

if __name__ == '__main__'
    # some error checking on sys.argv
    process(sys.argv[1:])
    sys.exit(0)

那么你可以直接导入这个Python文件并像这样运行它:

 import name_of_file

 # ...
       name_of_file.process([file1, file2, file3])
 # ...

所以,关键在于它的写法。如果写得不好,但你能修改它,我建议你重构一下,让它可以作为一个库来使用;否则,我会使用subprocess模块来调用这个程序。

4

你可以通过命令行来做到这一点,输入:

idle.py -r scriptname.py 在这里放入参数

你也可以试试其他的开发环境,比如ActivePython

或者你可以对IDLE进行一些修补:

http://bugs.python.org/issue5680

撰写回答