python读写文件函数_Python函数读写文件例题

定义FileAction类,最少定义两个方法,read data,write data

调用write data可将字典数据,以以下格式写入Data.txt文件

字典数据:{‘001’: {‘name’: ‘张三’, ‘age’: 18, ‘num’: ‘001’}, ‘002’: {‘name’: ‘张二’, ‘age’: 28, ‘num’: ‘002’}}

文件内数据:

name:张三,age:18,num:001

name:张二,age:28,num:002

调用dataread 方法可将Data.txt文件内的数据重新转换为字典类型的数据并返回

dic={ '001':{'name':'张三','age': 18 ,'num':'001'},

'002':{'name':'张二','age': 28 ,'num':'002'}}

class FileAction():

@staticmethod

def writeDate(dic):

f=open("Data.txt",'w')

for k,v in dic.items():#解析出第一层字典,例如'001':{'name':'张三','age': 18 ,'num':'001'}

for k1,v1 in v.items():#解析出第二层字典:name,张三 age,18 num,001

f.write( (k1+":"+str(v1)))

if k1=='num':

f.write('\n')

else:

f.write(',')

f.close()

@staticmethod

def readData( ):

f=open('Data.txt','r')

line=f.readline()

dzd={}#定义一个大字典

while len(line)>0:

items=line.strip().split(',')#读每一句话,删除空格和\n,并用都好隔开每项,例如name:张三,age:18,num:001

zd={}#每行定义第二层字典

for item in items:

s=item.split(':')#把每项例如name:张三,切成键值对,name 张三

if s[0]=='age':#如果是年龄,转换成整形

zd[s[0]]=int(s[1])

else:

zd[s[0]]=s[1]

if s[0]=='num':#如果是num,让其值成为第一层的键

dzd[s[1]]=zd

line=f.readline()

print(dzd)

f.close()

FileAction.readData( )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值