Python arguments parsing

Python 提供了 getopt 模块来处理命令行参数,处理过程与C类似。
Tutorial 中提供的例子如下:

# test.py
import getopt
import sys

def main(argv):
try:
        opts, args = getopt.getopt(argv, "ho:v", ["help", "output=", "verbose"])
except getopt.GetoptError as err:
        print str(err)
        usage()
        sys.exit(2)
output = None
verbose = False
for o, a in opts:
        if o == "-v":
           verbose = True
        elif o in ("-h", "--help"):
            usage()
            sys.exit()
        elif o in ("-o", "--output"):
            output = a
        else:
            assert False, "unhandled option"


if __name__ == '__main__':
        main(sys.argv[1:])

1. getopt处理函数参数

getopt.getopt(args, options[, long_options])
options中包含getopt需要处理的字母。而[long_options]中包含了更加详细的参数名字。
以上样例程序中,可能会接收到的输入包括‘-h','-o','-v'。
当该字母后面需要输入具体参数时,需要使用冒号 ':',例如需要用'-o'指定输出文件。
运行:test.py -h 或者 test.py -o "output"

2. sublime text 运行

一直使用的python编辑器是sublime text 3, ctrl+b可以调用automatic build mode.
此时无任何的命令行参数。等价于python3 $filename
需要调用命令行参数时,ctrl+shift+p -> "Browse Packages"
在Packages/User/目录下新建文件my_build.sublime-build,该文件内容如下:

{
        "cmd": ["python", "$file", "arg1", "arg2"]
}

将"arg1", "arg2"替换成自己程序运行时的参数标志以及参数值。
接着重启sublime text,选择"Tools -> Build System -> my_build",
此时ctrl-b会自动运行此文件内容。
注意,需要运行默认模式时,将build模式切换成automatic即可。

你可能感兴趣的:(Python arguments parsing)