Python txt文件读取写入字典的方法
一、json方式
1、字典写入txt
import json
dic = {
'andy':{
'age': 23,
'city': 'beijing',
'skill': 'python'
},
'william': {
'age': 25,
'city': 'shanghai',
'skill': 'js'
}
}
js = json.dumps(dic)
file = open('test.txt', 'w')
file.write(js)
file.close()
2、读取txt中的字典
import json
file = open('test.txt', 'r')
js = file.read()
dic = json.loads(js)
print(dic)
file.close()
二、使用str转换方法
1、字典写入txt
dic = {
'andy':{
'age': 23,
'city': 'beijing',
'skill': 'python'
},
'william': {
'age': 25,
'city': 'shanghai',
'skill': 'js'
}
}
fw = open("test.txt",'w+')
fw.write(str(dic)) #把字典转化为str
fw.close()
2、读取txt中字典
fr = open("test.txt",'r+')
dic = eval(fr.read()) #读取的str转换为字典
print(dic)
fr.close()
一个转换程序:
-- coding: UTF-8 --
import json
import collections
import io
filename = "/Users/liuhaojie01/Desktop/landmark.txt"
print(filename)
#detail = collections.defaultdict(int)
#agelist = []
#with io.open(filename, 'r', encoding = 'utf-8') as file_to_read:
## lines = file_to_read.readline() # 整行读取数据
# str = file_to_read.read()
file = open(filename, 'r')
js = file.read()
dic = json.loads(js)
print(len(dic['data']))
print(len(dic['data'][0]))
with open("/Users/liuhaojie01/Desktop/landmarkdata.txt","w+") as f:
for frame in dic["data"]: #每一帧
data =[]
for dicdata in frame:
print(dicdata["x"],dicdata["y"])
data.append(str(dicdata["x"]))
data.append(" ")
data.append(str(dicdata["y"]))
data.append(" ")
# print(len(i),type(i[0]))
f.writelines(data)
f.write("\n")
file.close()
f.close()