发布网友 发布时间:2022-04-23 07:05
共2个回答
热心网友 时间:2022-04-19 00:41
你用的是python3才会出这个问题。 python3在readlines里,缺省会使用操作系统当前的编码来解析文件,比如windows下就用GBK,在linux下则根据当前language来设置解析办法。
解决的办法是在open()里加上参数
将
fi= open('somefile.txt', 'r')改成
fi= open('somefile.txt', 'rt',encoding="utf-8")这个encoding就是指定编码格式。 如果encoding="utf-8"不行,你就改成encoding="gb18030",如果还不成,就改成encoding="big-5"。如果还不成。只能手工将" —"
替换成负号。
追答python2应该比较的通用。大部分人还在用python2.x, python3.x因为特别所以目前只是个别项目在用。 如果你用python2.7,那么这些问题不存在。
热心网友 时间:2022-04-19 01:59
sL = fi.readlines().decode('utf-8')追答sL = fi.readlines().decode('gbk')试试追问还是不行的…readlines()入读的是list结构而且没有decode这个方法啊……