我是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脚本???
谢谢!
答案 0 :(得分:55)
答案 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-python 在gist.github.com/denis-bz下。
答案 4 :(得分:-1)
我的工作是:
以调试透视图打开项目。 在控制台中,每当调试器在断点处中断时,您可以在“console”中键入python命令并单击return(或enter)。 没有“>>”符号,所以很难发现。
但我想知道为什么eclipse没有python shell :(