python操作题怎么保存_python第三天 文件的操作习题

#Author:zylong#1.查找 Server下有多少个节点,并打印出来#

#2.在文件我末尾增加一个#

#

#

#name="127.0.0.1" appBase="java" unpackWARs="false" autoDeploy="false"#在上里面#

#查找

deffind_content():

findContent=[]

with open("server","r",encoding="utf-8") as f:for line inf:if "

findContent.append(line)returnfindContent#fi = find_content()#print(len(fi),fi)

#print(''.index("

content ={"name":"127.0.0.1","appBase":"java","unpackWARs":"false","autoDeploy":"false"}#需要将字典的值转为字符串,并且按格式拼接起来

def add_content(**kvavgs):#处理传过来的字典

content = str(kvavgs).replace(":","=").replace("'",'').strip("{").strip("}").replace(",",'')

with open("server.bak", "wb") as w ,\

open("server","r",encoding="utf-8") as f:for line inf:if '' inline:

line= content+"\n" +line

w.write(line.encode("utf-8"))

w.write(kvavgs.__str__().encode("utf-8"))#add_content(name="127.0.0.1",#appBase="java",#unpackWARs="false",#autoDeploy="false")

#{'name': '127.0.0.1', 'appBase': 'java', 'unpackWARs': 'false', 'autoDeploy': 'false'} 改为{name= 127.0.0.1 appBase= java unpackWARs= true autoDeploy= true}

defupdate_content():

with open("server.bak1","w") as w,\

open("server.bak","rb") as f:#不破坏源文件,将修改的内容保存到server.bak1中

#可以直接使用字符串替换(这里练习字典),所以将获取到的内容先转字典,用字典操作

#这里是以字节形式打开的文件

for line inf:

line= line.decode("utf-8")if line.startswith("{'name'") :

kvavgs=eval(line)

kvavgs["unpackWARs"] = "true"kvavgs["autoDeploy"] = "true"

#这里是用kvavgs.__str__() 转字符串方法,与 __str__区分开, __str__是内存地址

line = kvavgs.__str__()

w.write(line)#update_content()

#删除最后一行的字典

defdel_content():

lines=[]

with open("server.bak1","r") as r:#将类容全部读取到缓存中

for line inr:if line.startswith("{'name'"):pass

else:

lines.append(line)

with open("server.bak1", "w") as w:

w.writelines(lines)

del_content()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值