Python3实践日记:使用文件写的时候,一直报TypeError: a bytes-like object is required, not 'str'
问题发现
- 使用python3在做一个将html转化成json格式的工具
- 使用语句:
with open('mytest1.json','wb') as fp: json.dump(content,fp=fp,indent=4)
- 运行后,一直报TypeError: a bytes-like object is required, not ‘str’
问题分析
- 转了一大圈,花费了将近一个小时,才发现问题的原因不在于要写入的东西的类型,而是open(“jsonTest.txt”, “wb”)指定文件以二进制写模式打开,所以需要以二进制写入,不能写入字符串,而上面代码中str是一个列表字符串,所以报异常。
问题解决
- 上面代码中str是列表字符串,所以将open()函数中的打开文件方式改为“w”写模式即可
-
问题解决,拍桌!!!