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

时间:2009-11-14 18:55:46

标签: python parameters startup pydev

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

samtho -i Mozilla_Firefox

我该怎么做?

5 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:6)

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

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

import optfunc, sys

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

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