实验5 文件应用编程

task1
with open('data3.txt','r',encoding='utf-8') as f1: data=f1.read().split('\n') x=[eval(i) for i in data[1:]] print(f'原始数据:\n{x}') y=[round(i) for i in x] print(f'四舍五入后数据:\n{y}') with open('data3.txt','w',encoding='utf-8') as f2: m=[['原始数据']+[str(i) for i in x]] n=[['四舍五入后数据']+[str(i) for i in y]] for i in range(len(x)): f2.write(f"{m[i]}\t {n[i]}\n")

  

 

 task2

with open('data4.txt','r',encoding='utf-8') as f:
    a=f.readlines()
b=[]
for i in a:
    b.append(i.strip('\n').split('\t'))
print(a)
t=b[1:]
t.sort(key=lambda x:(x[2],-int(x[3])))
with open('data4_processed.txt','w',encoding='utf-8') as f:
    for i in b[0]:
        f.write(f'{i:<10}')
    f.write('\n')
    for i in t:
        for x in i:
            f.write(f'{x:<10}')
        f.write('\n')

  

 

 

task5
with open('data5.txt','r+',encoding='utf-8')as f1:
    inf=f1.read()
    line = len(inf.splitlines())
    word = len(inf.split())
    string = len(inf)
    space=0
    for i in inf:
        if i==' ':
            space+=1
    print(f'行数:{line}')
    print(f'单词数:{word}')
    print(f'空格数:{space}')
    print(f'字符数:{string}')
    with open('data5_with_line.txt', 'w', encoding='utf-8') as f2:
        for n in range(line):
            f2.write(str(n+1)+'  '+inf.split('\n')[n]+'\n')

  

 

posted @ 2022-05-16 22:34  乐长森  阅读(20)  评论(1编辑  收藏  举报