我正在尝试读取包含以相同模式开头但以不同数字结尾的字符串的文件。我想通过替换它们(用正则表达式)来缩短这些字符串并将它们写在不同的文件中。我试图使用 re.sub (我不想使用拆分)。
原始文件是这样的:
@C00127:132:CDTL1ACXX:11000(several digits...)
@C00127:132:CDTL1ACXX:55588(several digits...)
@C00127:132:CDTL1ACXX:99999(several digits...)
我的想法是编写一个新文件,其中包含字符串的保守模式(即“@C00127:132:CDTL1ACXX:”),后跟前5 个变量数字。所以我想了一个这样的脚本:
import re
general_ID = open("general_ID.txt", "w+")
x = raw_input('type the name of the fastq file that you wanna extract the IDs: ')
with open (x, 'rt') as myfile:
for line in myfile:
general_ID.write(re.sub('@C00127:132:CDTL1ACXX:......+', '@C00127:132:CDTL1ACXX:.....', line))
general_ID.close()
当我运行这个脚本时,我的原始文件来自:
@C00127:132:CDTL1ACXX:11000(several digits...)
@C00127:132:CDTL1ACXX:55588(several digits...)
@C00127:132:CDTL1ACXX:99999(several digits...)
etc
像这样结束:
C00127:132:CDTL1ACXX:.....
C00127:132:CDTL1ACXX:.....
C00127:132:CDTL1ACXX:.....
etc