conniecl 发表于 2014-04-10 20:10

python文件读写

本帖最后由 conniecl 于 2014-04-10 20:11 编辑

想要实现将文件1中的字符串按照文件2中的字符串实现替换。即将文件1中出现的字符串替换成文件2中出现在同一行的第二列字符串,并且不改变文件1中行对应的联系输出。
下面是代码:(运行并未有错误,只是会迭代很多次,出现大量冗余,且浪费时间)
data1=open('an_uniprot.txt','r')
data2=open('uniport_gene.txt','r').readlines()
result=open('exchange.txt','w')
line1=data1.readline()
while line1:
    for line2 in data2:
      line2.strip(' ')
      line2=line2.split(' ')
      result.write(line1.replace(line2,line2))
    line1=data1.readline()
data1.close()
data2.close()
result.close()
求优化方法!!!!
文件1(data1):

文件2(data2):

希望得到的结果(如):
273, 8867
6455, 8867
8867, 6455
273, 1759

Linux_manne 发表于 2014-04-11 11:21

用列表推导是吧
另外你第二个文件 可以 用dict 的方式保存起来
页: [1]
查看完整版本: python文件读写