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

Posted

技术标签:

【中文标题】在 Eclipse(Pydev) 中将命令行参数传递给 Python 脚本【英文标题】:Passing command Line argument to Python script within Eclipse(Pydev) 【发布时间】:2011-05-20 08:03:05 【问题描述】:

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

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

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

#argecho.py
import sys

for arg in sys.argv: 1
    print arg

我需要输入 python 控制台

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

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

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

谢谢!

【问题讨论】:

【参考方案1】:

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

您可以从那里填写程序参数文本框:

【讨论】:

有没有办法以交互方式传递参数?? 不是本地的。下一个最佳解决方案是从标准输入读取,这是 Blue Peppers 推荐的。【参考方案2】:

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

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

#Rest of the program here

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

【讨论】:

我所说的交互一词的意思是 - 在 Eclipse 中打开控制台/shell,然后输入命令来执行我的脚本。例如,CTRL+ALT+ENTER 可让您选择要打开的控制台。【参考方案3】:

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

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

【讨论】:

【参考方案4】:

多年后,而不是 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 下。

【讨论】:

【参考方案5】:

我做的是:

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

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

【讨论】:

我猜用户是在专门询问 Eclipse,而不是命令行。

以上是关于在 Eclipse(Pydev) 中将命令行参数传递给 Python 脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Git Bash 中将命令行参数传递给 Windows 应用程序?

Eclipse Pydev:运行选定的代码行

如何在eclipse+pydev运行scrapy项目

Eclipse和PyDev搭建完美Python开发环境(Windows篇)

在shell脚本中将变量的值作为命令行参数传给程序

ubuntu下安装eclipse+pydev