在 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 应用程序?