如何在python中创建程序启动参数

发布于 2024-08-11 07:59:59 字数 126 浏览 5 评论 0原文

我刚刚开始学习 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

挥剑断情 2024-08-18 07:59:59

阅读 optparse 的文档。它非常强大,可以让您使用很多参数并创建帮助文本。

Read the documentation on optparse. It is very powerful and will let you lots of parameters and create the help text.

瘫痪情歌 2024-08-18 07:59:59

您可以使用模块 optparsegetopt 来自标准库。前者更为灵活,推荐使用。

如果您想编写自己的解析器,那么您必须检查 sys.argv 的内容。 sys.argv[0] 包含正在执行的程序的名称。 sys.argv[1:] 是一个包含传递给程序的所有参数的列表。

这是使用 optparse 的最小示例(我通过手动设置 sys.argv 来模仿程序执行):

>>> import sys
>>> sys.argv = 'samtho -i Mozilla_Firefox'.split()
>>>
>>> from optparse import OptionParser
>>> parser = OptionParser()
>>> parser.add_option("-i")
<Option at 0xb7881b4c: -i>
>>> options, args = parser.parse_args()
>>> options
<Values at 0xb788958c: {'i': 'Mozilla_Firefox'}>
>>> options.i
'Mozilla_Firefox'

You can use the modules optparse and getopt 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 setting sys.argv):

>>> import sys
>>> sys.argv = 'samtho -i Mozilla_Firefox'.split()
>>>
>>> from optparse import OptionParser
>>> parser = OptionParser()
>>> parser.add_option("-i")
<Option at 0xb7881b4c: -i>
>>> options, args = parser.parse_args()
>>> options
<Values at 0xb788958c: {'i': 'Mozilla_Firefox'}>
>>> options.i
'Mozilla_Firefox'
影子的影子 2024-08-18 07:59:59

使用 sys.argv 直接获取输入参数(首先导入 sys)。有许多不同的库(optparsegetopt 内置模块很受欢迎)来帮助解析参数,但根据您需要的复杂性,进行原始匹配可能会更容易。

Use sys.argv to grab input arguments directly (import sys first). There are a bunch of different libraries (optparse and getopt builtin modules are popular) to help parse the arguments but doing raw matching might be easier depending on what complexity you need.

农村范ル 2024-08-18 07:59:59

如果您不介意尝试使用标准库,argparse 通常被认为是最佳选择-breed 用于参数解析。

if you don't mind venturing from the standard library, argparse is generally considered best-in-breed for parameter parsing.

盛装女皇 2024-08-18 07:59:59

我发现 optfunc 是最容易使用的库。

import optfunc, sys

def samtho(i=''):
    "Usage: %prog -i <option>"
    print i

if __name__ == '__main__':
    optfunc.run(samtho)

I find optfunc the easiest library to use.

import optfunc, sys

def samtho(i=''):
    "Usage: %prog -i <option>"
    print i

if __name__ == '__main__':
    optfunc.run(samtho)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文