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

Sah*_*wal 8 python command-line command-line-arguments python-idle

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

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

谢谢

Mic*_*yan 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)
Run Code Online (Sandbox Code Playgroud)

然后你可以简单地导入python文件并运行它:

 import name_of_file

 # ...
       name_of_file.process([file1, file2, file3])
 # ...
Run Code Online (Sandbox Code Playgroud)

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


sla*_*shp 4

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

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

您可以尝试不同的 IDE,例如 ActivePython

或者你可以修补 IDLE:

http://bugs.python.org/issue5680