2024-09-27 00:17:57 发布
网友
我有一个床间隔文件,我正试图使用银河在线工具。目前,文件中的每一行都以一个数字(代表染色体编号)开头。为了正确上传,我需要每一行以“chr”开头,然后是数字。例如,以“2L”开头的行,我需要更改,以便它们将以“chr2L”开头,并对其他以数字开头的行执行相同的操作(不仅仅是2L,还有许多不同的数字)。我在想,如果我能在每一行的开头添加一个“chr”,而不影响其他列,那就太好了,但是我不知道如何做到这一点(对python来说非常陌生) 你能帮帮我吗?在
谢谢。在
http://docs.python.org/2/library/stdtypes.html#file.writelines
with open('bed-interval') as f1, open('bed-interval-modified', 'w') as f2: f2.writelines('chr' + line for line in f1)
第一步打开文件
file = open("somefile.txt")
第二步去接电话
第3步使用列表理解
new_lines = ["chr"+line for line in lines]
步骤4将新行写回文件
with open("somefile.txt","w") as f: f.writelines(new_lines)
为了不在内存中存储所有行
file1 = open("some.txt") file2 = open("output.txt","w") for line in file1: print >> file2, "chr"+ line file1.close() file2.close()
然后只需将output.txt复制到原始文件名
output.txt
http://docs.python.org/2/library/stdtypes.html#file.writelines
第一步打开文件
第二步去接电话
^{pr2}$第3步使用列表理解
步骤4将新行写回文件
为了不在内存中存储所有行
然后只需将
output.txt
复制到原始文件名相关问题 更多 >
编程相关推荐