python中出现TypeError: write() argument must be str, not int(list、tuple、dict等)


TypeError: write() argument must be str, not int
出现如上错误的原因是写入文件里的必须是字符串形式,其他形式不行,因此如果列表、元组、字典等需要写入文件时事先应该str类型转化(拓展,将列表、元组、字典转为字符串使用str,将字符串逆转化使用eval函数(eval函数详细可查看:转自:https://www.cnblogs.com/sui776265233/p/9900709.html),可将转化为字符串类型的列表、元组或字典转回来
列表(list):

my_list = ['python','C','Java']
with open('test.txt','wb+') as f:  #此处用到的是字节形式将列表写入文件,如果要读入同样也要用decode转化为字符
      f.write(str(my_list).encode('utf-8'))

write(str或bytes):输出字符串或字节串,且只有以二进制模式(b模式)打开的文件才能写入字节串
writelines(可迭代对象):输出多个字符串、字节串


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM