将命令行参数传递给Eclipse中的Python脚本(Pydev)

时间:2010-12-04 20:40:54

标签: python eclipse pydev

我是Python& Eclipse,并且在理解如何将命令行参数传递给在Eclipse(Pydev)中运行的脚本时遇到一些困难。

The following link解释了如何将命令行参数传递给python脚本。

将命令行参数传递给模块argecho.py(来自上面链接的代码),

#argecho.py
import sys

for arg in sys.argv: 1
    print arg

我需要输入python console

[you@localhost py]$ python argecho.py             
argecho.py

[you@localhost py]$ python argecho.py abc def     
argecho.py
abc
def

如何在Eclipse(Pydev)中将相同的参数传递给Python脚本???

谢谢!

5 个答案:

答案 0 :(得分:55)

点击工具栏中的播放按钮向下箭头 - >运行配置 - > (双击)Python Run - >右侧的参数选项卡。

从那里你可以填写Program Arguments文本框:

enter image description here

答案 1 :(得分:10)

如果您希望程序以交互方式请求参数,那么它们就不再是命令行参数。但是你可以这样做(仅用于调试!),这将允许您以交互方式输入程序将作为命令行参数看到的值。

import sys
sys.argv = raw_input('Enter command line arguments: ').split()

#Rest of the program here

请注意,安德鲁的做事方式更好 。另外,如果你使用的是python 3. *,它应该是input而不是raw_input

答案 2 :(得分:2)

选择“属性” - >> “运行/调试设置”。

在右侧面板中选择相关文件,然后单击“编辑”按钮。它将打开所选文件的属性。有一个“参数”选项卡。

答案 3 :(得分:1)

多年以后,而不是Eclipse, 但是sh或IPython中run my.py M=11 N=None ...的其他答案的变体:

import sys

# parameters --
M = 10
N = 20
...

# to change these params in sh or ipython, run this.py  M=11  N=None ...
for arg in sys.argv[1:]:
    exec( arg )
...
myfunc( M, N ... )

参见One-line-arg-parse-for-flexible-testing-in-pythongist.github.com/denis-bz下。

答案 4 :(得分:-1)

我的工作是:

以调试透视图打开项目。 在控制台中,每当调试器在断点处中断时,您可以在“console”中键入python命令并单击return(或enter)。 没有“>>”符号,所以很难发现。

但我想知道为什么eclipse没有python shell :(