我在目录中有超过100个.txt文件,我想为每个文件运行相同的python脚本。现在我必须输入类似的命令超过100次,因为每个命令都有轻微的变化,因为输入和输出文件名不同。我想知道这是否可以自动完成。
我的代码如下所示:
import pandas as pd
import numpy as np
import os
import argparse
parser = argparse.ArgumentParser(description='Excelseq ')
parser.add_argument('-i','--txt', help='Input file name',required=True)
parser.add_argument('-o','--output',help='output file name', required=True)
args = parser.parse_args()
df = pd.read_csv(args.txt, sep='\t' )
f=open('VD.fasta', "r+")
out = open(args.output, "w")
for line in f:
title = line[1:]
title = title.rstrip()
seq = f.readline()
seq = seq.rstrip()
if df['ReadID'].str.contains(title).any():
out.write('>{0}\n{1}\n'.format(title,seq))
代码采用1个输入文件:df
由-i
给出,它是.txt文件,脚本检查.txt文件中的ReadID
是否在.fasta文件。如果是,脚本将打印出title
和seq
。但对于每个输出文件,我希望该名称与.txt文件相同,但扩展名为.fasta。
例如:
input file1 : H100.txt
output file1: H100.fasta
input file2 : H101.txt
output file2: H101.fasta
input file3: H102.txt
output file3: H102.fasta
...
如何为超过100个文件自动执行此操作?每次运行需要很长时间,我不想坐在电脑前等待它完成,然后运行下一个。
答案 0 :(得分:2)
我无法对此进行测试,因为我没有输入文件,也没有安装所有第三方模块。然而,它应该接近你应该做的,正如我试图在评论中解释。
NULL