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

我刚刚开始学习python,我正在编写的程序需要参数才能运行特定的任务。例如(程序名称是Samtho)

samtho -i Mozilla_Firefox
我怎样才能做到这一点?
已邀请:

nquae

赞同来自:

阅读optparse上的文档。它功能非常强大,可以为您提供大量参数并创建帮助文本。

uid

赞同来自:

您可以使用标准库中的模块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'

tfugit

赞同来自:

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

nsunt

赞同来自:

如果您不介意从标准库中冒险,argparse通常被认为是参数解析的最佳选择。

lut

赞同来自:

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

import optfunc, sys
def samtho(i=''):
    "Usage: %prog -i <option>"
    print i
if __name__ == '__main__':
    optfunc.run(samtho)

要回复问题请先登录注册