2011-02-02 195 views
8

我已经下载了一个python文件xxxxxx.py,应该在命令行运行 ,输入:python xxxxxx.py filename1 filename2 并且应该将这两个文件作为参数。使用IDLE将命令行参数传递给Python程序?

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

谢谢

+5

我不明白为什么人们坚持认为IDLE是一些有用的东西。 –

+0

请你可以给我一个你认为对windows有用的IDE的建议。我将不胜感激 –

+0

您不会在运行时在IDLE中传递参数。只需在命令行键入命令很容易。什么阻止你在命令行绑定'python xxxxxx.py filename1 filename2'?或者在命令行中复制并粘贴它?或者使用向上箭头在命令行再次输入它? –

回答

4

你可以在命令行中使用做到这一点:

idle.py -r scriptname.py把这里的论点

你可以尝试不同的IDE像ActivePython的

或者你也可以修补IDLE :

http://bugs.python.org/issue5680

+0

。我现在的路径是C:\ Python26 ... etc \ idlelib,所以我可以运行空闲。但剧本是在别的地方,所以它找不到它,我该怎么办? –

+0

不要介意!我只是将C:\ Python26 \ Lib \ idlelib添加到高级系统设置中的路径 –

+1

只需在您的代码中修改sys.argv即可。例如'sys.argv = ['scriptname.py','arg1','arg2','arg3']' – SomeGuyOnAComputer

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) 

然后,你可以简单地导入蟒蛇文件并运行它想:

import name_of_file 

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

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

+1

我只想在运行python脚本时在运行时传递参数。有没有办法做到这一点?如果我在窗户上,则为 –

相关问题