如何在IDLE中向Python程序传递命令行参数?
我下载了一个名为 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进行一些修补: