首先,我只学习了几个月的Python编程技术。
其次,我有一个需要处理的txt文件。为了正确处理该文件,每一行必须以'\r\n'结尾。
然而,并不总是这种情况,有时候它只包含'\n'(换行符)。
因此,我需要检查文件,如果缺少'\r\n',则用'\r\n'替换'\n'。
我已经尝试了几种方法,但都失败了。
首先我尝试了以下方法:
with open("initial_file.txt",'rb') as file_content:
#1253 is a Windows code page used to write modern Greek.
mycon = file_content.read().decode('cp1253')
if (mycon.count("\r\n") == 0) and (mycon.count("\n") > 0):
with open("destination_file.txt",'w') as file_replace:
file_replace.write(mycon.replace("\n", "\r\n").encode('cp1253'))
但是我替换'\n' 为 '\r\n' 时却得到了 '\r\r\n'。
因此,我尝试了另一种方法:
rf = open("initial_file.txt", 'rb')
wf = open("destination_file.txt",'wb')
mycon = rf.read().decode('cp1253')
if (mycon.count('\r\n') == 0) and (mycon.count('\n') > 0):
for line in rf:
newline = line.rstrip('\n')
wf.write(newline).encode('cp1253')
wf.write('\r\n').encode('cp1253')
第一次可以正常使用,但之后就不行了。
我不确定自己哪里出错了,希望能得到一些帮助。