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


浙公网安备 33010602011771号