为什么写了换行语句,结果还是没有换行?

想把文件冒号后面的数字,按照每行写入另一个文件,在每行末尾换行,用以下代码,有换行语句,结果还是没换行,怎么办?
图片描述

#!/usr/bin/python
#coding:utf-8
import pickle
import re
tfidf_dict={}
tfidf_all=[]
with open('/home/user1/zhouchun/lda/KNN/single_tfidf.txt','a') as file:
with open('/home/user1/zhouchun/lda/KNN/train_tfidf.txt', 'r') as fw:
        # content = fw.readlines()
        for line in fw:
            index_tfidf=line.split()
            # print index_tfidf
            for j in index_tfidf:
                m=re.compile(r'^(\d+):(\d+)$')
                try:
                    word_index=m.match(j).group(1)
                    tfidf=m.match(j).group(2)
                    file.write(str(tfidf) + ' ')
                except:
                     word_index=None
                     tfidf=None
        file.write('\n')

图片描述

阅读 4.8k
3 个回答

windows上换行应该为\r\n. 所以file.write('\r\n').

缩进不对。

图片描述

with open('a.txt', 'r') as f1, open('b.txt', 'a') as f2:
    for line in f1:
        new_line = [_.split(':')[1] for _ in line.split()]
        f2.write(' '.join(new_line))
        f2.write('\n')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题