命令行可选参数

时间:2012-10-16 18:12:55

标签: python command-line-arguments biopython sys

所以我仍在编码,甚至不确定这一切是否仍然有效,但是当我甚至无法运行它时很难测试它。这是我第一次尝试使用多个可选输入,每次运行时都会出现错误:

“命令行参数错误:参数”查询“。文件无法访问:`sequence_filename'”

命令行输入是文件名(require),然后是函数将运行的可选输出文件,然后是prot的可选变量(如果它是蛋白质,defualt)或na,如果它是核酸

if __name__ == '__main__':
    sequence_filename = sys.argv[1]
    output_filename = ''
    if sys.argv > 3:
        output_filename = sys.argv[2]
        if sys.argv[3] == 'na':
            input = 'na'
        else:
            input = 'prot'
    elif sys.argv > 2:
        output_filename = sys.argv[2]

    main( sequence_filename, output_filename, input )

提前感谢。

1 个答案:

答案 0 :(得分:4)

如果您正在执行复杂的命令行界面,则应使用argparse,它将根据您指定的参数自动解析并生成界面。

如果您运行的是python 2.6或更早版本,则可以使用optparse,这是由argparse替换的旧模块。