当前目录下创建“中文测试.txt”文件,写入:
我是大好人aaa
我是大坏人bbb
f = open('中文测试.txt', 'r+', encoding='utf-8') # f.write('我是大好人aaa\n') # f.write('我是大坏人bbb') f.seek(0) print(f.read()) f.seek(0) print(len(f.read())) # 文字包括\n的个数,总计10个汉字,6个字母和一个换行符\n,共17个 print(f.tell()) # 指针共计,每个汉字3位,每个字母或者数字1位,换行符有\r\n两个,共计38个 print(f.read()) # 所以对于有中文的文件,要看准了修改seek(),如果中文没有改3的倍数,卡到中间 f.close() # 就会出错或者乱码(在数据编码中可以使用忽略无法编码以及解码的关键字参数)