在python脚本中使用argparse

时间:2018-04-18 12:43:59

标签: python argparse

我在目录中有一些输入文件,想要创建一个包含2个函数的python脚本,并为同一目录中的所有输入文件运行脚本。 我制作的剧本仍然不起作用。有2个功能。第一个是获取输入文件并返回输出文件的那个。如果我在每个输入文件上运行此函数,它将完美地工作。所以“转换”功能没有问题。 主函数中的第二个函数是"argparse"。该脚本在此功能中存在问题。

import argparse
import pytools

def convert(infile, outfile):
        x = pytools.split(infile)
        x.coverage(bh=True, split=True)\
         .saveas(outfile, type='bh')
        print "done"
        return


def main():
    parser=argparse.ArgumentParser()
    parser.add_argument("-b", "--infile", required=True)
    parser.add_argument("-o", "--output", required=True)

    args = parser.parse_args()

    input = args.infile
    output = convert(args.infile)

if __name__ == '__main__':
    main()

我的问题是,我不知道是否以正确的方式引入输入文件和调用输出文件。事实上,我认为这个脚本的问题在于这一部分:

input = args.infile
output = convert(args.infile)

你知道如何修复脚本吗?

这是我在运行脚本后遇到的问题:

Traceback (most recent call last):
  File "bam2bg.py", line 39, in <module>
    main()
  File "bam2bg.py", line 35, in main
    input = args.infile
AttributeError: 'Namespace' object has no attribute 'infile'

0 个答案:

没有答案