1. 程式人生 > >json.dump json.load與檔案讀寫操作

json.dump json.load與檔案讀寫操作

一.寫檔案
info={"name":"李小龍",'age':66,'love':"cat"}
fp=open('testdict1.txt','w+',encoding='utf-8')
fp.write(info)

ls=list('1234567890')
# print(ls)
fp=open('test.txt','w+')
# # json.dump(ls,fp)
fp.write(ls)

 

錯誤原因:列表和字典不能直接寫入檔案

 

solution:用json.dump

改寫:

ls=list('1234567890')
# print(ls)
fp=open('test.txt','w+')
json.dump(ls,fp)

改寫:

 

info={"name":"李小龍",'age':66,'love':"cat"}
fp=open('testdict1.txt','w+',encoding='utf-8')
json.dump(info,fp)

success

但是:中文亂碼

 

解決方法:

呈現:

二.讀取檔案

fp=open('test.txt','r+')
l=fp.read()
print(l)
print(type(l))

fp=open('testdict1.txt','r+')
dict=fp.read()
print(dict)
print(type(dict))

讀取出來都是字串

解決:

fp=open('testdict1.txt','r+')
dict=json.load(fp)
print(dict)
print(type(dict))

三.tips

info={"name":"李小龍",'age':66,'love':"cat"}
fp=open('testdict1.txt','w+',encoding='utf-8')
fp.write(json.dumps(info,ensure_ascii=False))

fp=open('testdict1.txt','r+')
dict=json.load(fp)
print(dict)
print(type(dict))  # <class 'dict'>