实验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")

 

posted @ 2022-05-15 08:49  可爱捏  阅读(41)  评论(3编辑  收藏  举报