Crossin的编程教室
标题:
新人求助,文件读取写入报错“非法多字节序列”
[打印本页]
作者:
张小宅
时间:
2016-10-4 18:40
标题:
新人求助,文件读取写入报错“非法多字节序列”
环境:win10 python34
代码:
#!/usr/bin/python
f_old = open("束星北档案.txt")
f_new = open("束星北档案已转换.txt")
x = f_old.readlines()
type(x)
for i in x:
if (len(x)<30) or ("。\n" in x) or ("!\n" in x) or ("?\n" in x) or ("……\n" in x) or ("-\n" in x)
f_new.write(x)
else
f_new.write(x.replace("\n",""))
f_old.close()
f_new.close()
print("转换已完成")
复制代码
代码做用是删除 ".txt" 里面多余的换行符,因为要下载到kindle上面看,里面控制排版的换行符多余,所以写了上面这些代码
{
一九七二年十月十七日,是我一九四六年去美国后第一次回国,国家领导人在
人民大会堂会见了我。周恩来总理希望我能为解决教育人才“断层”的问题做些工作,
如介绍一些海外有才学的人到中国来讲学等等。我谈了自己的一些看法,我说中国
不乏解决“断层”问题的人才和教师,只是他们没有得到使用。比如我的老师束星北
先生。
那时我不知道束星北老师在哪里,在做什么,我很想能见他一面,可是最终未
能如愿。
一个人的成功有着各种各样的因素,而这些因素又彼此关联。对于我一生的物
理学研究来说,束先生对我最初的帮助和影响是非常重要的。
}
作者:
张小宅
时间:
2016-10-4 18:47
下面这些是报错信息:
{
Traceback (most recent call last):
File "G:\aaa\zh.py", line 5, in <module>
x = f_old.readlines()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence
}
表示英语学的太差,就去百度翻译了一下
{
Traceback(最后调用):
文件“G:\ AAA \ ZH .py”,5号线,在<模块>
x = f_old。readlines()
unicodedecodeerror:“GBK的编码不能在2位字节0xbf解码:非法多字节序列
}
虽然我还是不能看懂,,,
希望能得到大家的帮助,或者更好的方法建议
新人求助,不胜感激
作者:
crossin先生
时间:
2016-10-5 19:36
文件里有字符是gbk编码没法处理的。你搜下python3如何指定打开文件的编码,改成utf8试试
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/)
Powered by Discuz! X2.5