在Python脚本中摸索命令行参数
我对 python 比较陌生。我想编写一个脚本并向其传递如下参数:
myscript.py --arg1=hello --arg2=world
在脚本中,我想访问参数 arg1 和 arg2。谁能解释如何以这种方式访问命令行参数?
I am relatively new to python. I want to write a script and pass it parameters like this:
myscript.py --arg1=hello --arg2=world
In the script, I want to access the arguments arg1 and arg2. Can anyone explains how to access command line parameters in this way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Argparse 是标准库的一部分(从版本 2.7 和 3.2 开始)。这是我用来处理所有命令行解析的模块,尽管还有 optparse (现已弃用)和 getopt。
以下是如何使用 argparse 的简单示例:
编辑:请注意,在调用
add_arguments
时使用前导“--”会使arg1< /code> 和 arg2 可选参数,因此我提供了默认值。如果您希望编程需要两个参数,请删除这两个前导连字符,它们将成为必需参数,并且您不需要
default=...
选项。 (严格来说,您也不需要action='store'
选项,因为store
是默认操作)。Argparse is part of the standard library (as of versions 2.7 and 3.2). This is the module I use to handle all my command line parsing although there is also optparse (which is now deprecated) and getopt.
The following is a simple example of how to use argparse:
Edit: Note that the use of the leading '--' in the calls to
add_arguments
makearg1
andarg2
optional arguments, so I have supplied default values. If you want to program to require two arguments, remove these two leading hypens and they will become required arguments and you won't need thedefault=...
option. (Strictly speaking, you also don't need theaction='store'
option, sincestore
is the default action).http://docs.python.org/library/argparse.html#module-argparse
简单的例子可以提供帮助
http://docs.python.org/library/argparse.html#module-argparse
simple example can help
查看标准库中包含的 argparse 模块。一旦你习惯了它,它就会变得轻而易举,而且它非常强大。这是一个教程。建议使用此模块而不是 optparse 或 getopt 模块。
如果您不想使用该模块但仍想访问参数,请查看 sys 模块< /a>.您将需要查看 sys.argv。
Check out the argparse module included with the standard library. It makes this stuff a breeze once you get used to it, and it is very robust. Here is a tutorial. It is recommended to use this rather than the optparse or getopt modules.
If you don't want use the module but still want to access the arguments, check out the sys module. You will want to look at sys.argv.
Python 提供了 3 种不同的解析命令行参数的方法,不包括您自己使用对参数列表的原始访问权限编写的任何方法。
http:// /docs.python.org/dev/whatsnew/2.7.html#pep-389-the-argparse-module-for-parsing-command-lines
Python supplies 3 different ways of parsing command line arguments, not including any you write yourself using raw access to the parameter list.
http://docs.python.org/dev/whatsnew/2.7.html#pep-389-the-argparse-module-for-parsing-command-lines