• 1
  • 新人请关照

如何用python将txt文本中的中文逗号都转换为英文逗号?

f=open('data.txt','a+',encoding='utf-8')
for line in f:

line=line.replace(',',',')  
f.write(line)  

f.close()

这是我的错误代码。。请大佬赐教

阅读 1.8k
评论
    5 个回答
    • 1.9k

    a+ 还是 r+ 都是可读写的,但是你得清楚两种模式打开文件时指向的位置, r+ 模式打开文件指向开头, a+ 模式打开文件指向结尾。

    with open('data.txt', 'r+', encoding='u8') as fp:  
        s = fp.read().replace(',', ',')  
        fp.seek(0)  
        fp.truncate()  
        fp.write(s)  

    或者

    with open('data.txt', 'a+', encoding='u8') as fp:  
        fp.seek(0)  
        s = fp.read().replace(',', ',')  
        fp.seek(0)  
        fp.truncate()  
        fp.write(s)

    当然文件比较大就不要一次性读到内存中了,按行迭代读写分离好点。