python - 为什么写了换行语句,结果还是没有换行?
问题描述
想把文件冒号后面的数字,按照每行写入另一个文件,在每行末尾换行,用以下代码,有换行语句,结果还是没换行,怎么办?
#!/usr/bin/python#coding:utf-8import pickleimport retfidf_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=Nonefile.write(’n’)
问题解答
回答1:windows上换行应该为rn. 所以file.write(’rn’).
回答2:缩进不对。
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’)
