我在目录中有一些输入文件,想要创建一个包含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'