实验5: 文件应用编程
task2
思考:先用read从里面读取所有数据,再用split和join方法将空格和tap键除去
task 3
1 with open('C:\\Users\\柚子西虹\\Desktop\\Python 文件\\data3.txt', 'r+', encoding = 'utf-8') as f: 2 data = f.readlines() # 一次读入所有数据,按行读取,保存到列表中 3 data2=[id1.strip() for id1 in data] 4 data3=data2[1::] 5 data4=[int(float(id2))+1 if (float(id2)-int(float(id2)))>=0.5 else int(float(id2)) for id2 in data3] 6 f=open('C:\\Users\\柚子西虹\\Desktop\\Python 文件\\aaa.txt',"w") 7 f.write("原始数据\t四舍五入后的数据\n") 8 for i in range(len(data4)): 9 f.write(data3[i]+"\t"+str(data4[i])+"\n") 10 print(data4) 11 f.close()
task4
with open('data4.txt', 'r+', encoding = 'utf-8') as f: data1=f.read() data2=data1.split("\n") data3=[tuple(id1.split("\t")) for id1 in data2] data4=data3[1::] data5=sorted(data4,key=lambda x:(x[2],-int(x[3]))) data6=["\t".join(list(id5)) for id5 in data5] print(data6) with open("data4_prosessed.txt","r+") as g: g.write(data2[0]+"\n") for id6 in range(len(data6)): g.write(data6[id6]+"\n")
task5
with open('data5.txt', 'r+', encoding = 'utf-8') as f: data=f.read() #print(data) data0_5=str(data) data1=data0_5.split("\n") data1_5=" ".join(data1) print(len(data1)) data2=data0_5.split(" ") print(len(data2)-1) print(data.count(" ")-1) print(len(data)) s=[] s.append(len(data1)) s.append(len(data2)-1) s.append(data.count(" ")-1) s.append(len(data)) b=[] for i in range(len(data1)): b.append(f"{i+1} "+data1[i]) print(b) with open('data5_with_line.txt', 'r+', encoding = 'utf-8') as g: for i in range(len(b)): g.write(b[i]+"\n")