请教python3.2中的readline()用法

JacksonLv 2011-09-23 04:00:20
这是我用于自动更新配置文件的一段python代码(版本python3.2):

f = open("F:/Learn.py/EnvironmentConfig_SysLogin.config")
newLines = []
while 1:
line = f.readline()
if not line: break
line = line.replace("-MEM_STR-","newstr")
newLines.append(line)
f.close()
o = open(filename,"w")
for l in newLines:
o.write(l)
o.close()

运行错误提示:
Traceback (most recent call last):
File "F:\Learn.py\training.py", line 5, in <module>
line = f.readline()
UnicodeDecodeError: 'gbk' codec can't decode bytes in position 194-195: illegal multibyte sequence

应该是版本问题,请帮我看看“line = f.readline()”行应怎么改?
...全文
265 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
iambic 2011-09-23
  • 打赏
  • 举报
回复
错误信息已经很明显了
open(r"F:/Learn.py/EnvironmentConfig_SysLogin.config", encoding='utf-8')
JacksonLv 2011-09-23
  • 打赏
  • 举报
回复
是文本,utf-8[Quote=引用 2 楼 iambic 的回复:]
你的文本内容是什么?是二进制的还是文本?编码是什么?
[/Quote]
JacksonLv 2011-09-23
  • 打赏
  • 举报
回复
是文本,utf-8[Quote=引用 2 楼 iambic 的回复:]
你的文本内容是什么?是二进制的还是文本?编码是什么?
[/Quote]
iambic 2011-09-23
  • 打赏
  • 举报
回复
你的文本内容是什么?是二进制的还是文本?编码是什么?
codesnail 2011-09-23
  • 打赏
  • 举报
回复
把line转码成utf-8编码的试试
line.encode("utf-8")

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧