如何在python中创建程序启动参数
我刚刚开始学习 python,我正在编写的程序需要参数才能运行特定任务。例如(程序名称是 Samtho)
samtho -i Mozilla_Firefox
我该怎么做?
I'm just beginning to learn python and the program I'm writing requires parameters for it to run with a specific task. For example (programs name is Samtho)
samtho -i Mozilla_Firefox
How can I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
阅读 optparse 的文档。它非常强大,可以让您使用很多参数并创建帮助文本。
Read the documentation on optparse. It is very powerful and will let you lots of parameters and create the help text.
您可以使用模块
optparse
和getopt
来自标准库。前者更为灵活,推荐使用。如果您想编写自己的解析器,那么您必须检查 sys.argv 的内容。
sys.argv[0]
包含正在执行的程序的名称。sys.argv[1:]
是一个包含传递给程序的所有参数的列表。这是使用 optparse 的最小示例(我通过手动设置 sys.argv 来模仿程序执行):
You can use the modules
optparse
andgetopt
from the standard library. The former is more flexible and thus recommended.If you want to write your own parser, then you'll have to inspect the contents of
sys.argv
.sys.argv[0]
contains the name of the program being executed.sys.argv[1:]
is a list containing all arguments passed to the program.This is a minimal example using
optparse
(I mimicked program execution by manually settingsys.argv
):使用 sys.argv 直接获取输入参数(首先导入 sys)。有许多不同的库(
optparse
和getopt
内置模块很受欢迎)来帮助解析参数,但根据您需要的复杂性,进行原始匹配可能会更容易。Use
sys.argv
to grab input arguments directly (import sys
first). There are a bunch of different libraries (optparse
andgetopt
builtin modules are popular) to help parse the arguments but doing raw matching might be easier depending on what complexity you need.如果您不介意尝试使用标准库,argparse 通常被认为是最佳选择-breed 用于参数解析。
if you don't mind venturing from the standard library, argparse is generally considered best-in-breed for parameter parsing.
我发现 optfunc 是最容易使用的库。
I find optfunc the easiest library to use.