如何在Python中创建程序启动参数
我刚开始学习Python,我正在写的程序需要一些参数才能完成特定的任务。比如说(这个程序的名字叫Samtho)
samtho -i Mozilla_Firefox
我该怎么做呢?
5 个回答
2
使用 sys.argv
可以直接获取输入的参数(记得先 import sys
)。有很多不同的库可以帮助你解析这些参数,比如 optparse
和 getopt
是比较常用的内置模块。不过,如果你的需求不复杂,直接进行简单的匹配可能会更简单。
6
你可以使用标准库里的两个模块,分别是 optparse
和 getopt
。其中 optparse
更灵活,所以更推荐使用它。
如果你想自己写一个解析器,那你需要查看 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'
9
去看看关于 optparse 的文档。这个工具非常强大,可以让你设置很多参数,还能生成帮助说明文字。