我有多个文件名为1R1.fasta,1R2.fasta。。。。。1000R1.fasta。如何使用python使用循环连接它们

我有多个文件名为1R1.fasta,1R2.fasta。。。。。1000R1.fasta。如何使用python使用循环连接它们,python,concatenation,Python,Concatenation,我有一堆文件名为1R1.fasta、1R2.fasta、1R3.fasta。。。。。。。。5000R1.fasta,5000R2.fasta,5000R3.fasta。我需要将具有相同编号的文件连接到一个文件中,例如: cat 1R1.fasta 1R2.fasta 1R3.fasta>1R.fasta cat 2R1.fasta 2R2.fasta 2R3.fasta>2R.fasta 但是,由于有很多文件,我是否可以在python中使用循环来连接文件。由于fasta文件可能很大,我可能会在b

我有一堆文件名为1R1.fasta、1R2.fasta、1R3.fasta。。。。。。。。5000R1.fasta,5000R2.fasta,5000R3.fasta。我需要将具有相同编号的文件连接到一个文件中,例如: cat 1R1.fasta 1R2.fasta 1R3.fasta>1R.fasta cat 2R1.fasta 2R2.fasta 2R3.fasta>2R.fasta


但是,由于有很多文件,我是否可以在python中使用循环来连接文件。

由于fasta文件可能很大,我可能会在bash脚本中这样做。Python不是这项工作的最佳工具

如果您的业务逻辑足够复杂,需要一个Python脚本,请尝试安装
sh
包,以避免Python代码中出现I/O:

import glob
from sh import cat

for i in range(1, 5001):
    prefix = '%sR' % i
    fasta_files = glob.glob('%s*.fasta' % prefix)
    cat(*fasta_files, _out='%s.fasta' % prefix)

请注意,文件名参数
cat
的数量是有限制的。

非常感谢您的回复。我有很多文件,因此想知道脚本是否可以自动执行,以便前缀值从1到5000。我对bash脚本非常陌生,尽管我使用了一些脚本来重命名fasta头文件和拆分多个fasta文件。当然。我更新了脚本以循环前缀1R..5000R。非常感谢你的帮助。