使用IDLE将命令行参数传递给Python程序?

时间:2011-02-02 00:16:25

标签: python command-line command-line-arguments python-idle

我已经下载了一个python文件xxxxxx.py,它应该在命令行上运行 输入:python xxxxxx.py filename1 filename2 这应该将这两个文件作为参数。

我想知道是否有一种方法可以使用IDLE来传递这些参数。除了设置sys.argv之外还有其他方法吗?

由于

2 个答案:

答案 0 :(得分: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])
 # ...

所以,这实际上取决于它的编写方式。如果编写得不好但你可以编辑它,我会重构它以便它可以用作库;否则,我会使用子进程模块来调用程序。

答案 1 :(得分:4)

您可以从命令行执行以下操作:

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

您可以尝试使用其他IDE,例如ActivePython

或者您可以修补IDLE:

http://bugs.python.org/issue5680