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