案例:文件操作 读取文件分数,计算并重新写入文件
现有文件:

计算总分,运行程序后得到如下文件结果:

代码:
1 file = open("baolu.txt", "r") # 打开文件 2 file_to_list = file.readlines() # 将文件所有内容按行读出,以列表方式呈现。并赋值给变量 3 file.close() # 关闭文件 4 5 for weizhi, i in enumerate(file_to_list): # for循环列表,赋值给i 6 short_list = i.split() # 第一个循环的字符串通过split()函数按空格字符分割成列表 7 fenshu = int(short_list[1]) + int(short_list[2]) + int(short_list[3]) # 通过索引得到三门成绩,算出总分,赋值给fenshu变量 8 short_list.append(str(fenshu)) # 将总分追加至列表末尾 9 file_to_list[weizhi] = " ".join(short_list) + "\n" # 将列表转成字符串后,再返回给之前列表位置,重新生成列表 10 11 # 将得到的新列表重新写入文件 12 file = open("baolu.txt", "w") # 打开文件 13 file.writelines(file_to_list) # 列表写入文件 14 file.close() # 关闭文件
留言板:
1 import time 2 flag = True 3 print('\n', '------------------欢迎来到留言板------------------', '\n') 4 5 while flag: 6 usr_say = input('(q退出)请输入您想说的话:') 7 if usr_say == "q": 8 break 9 a_file = open('我想说的话.txt', 'a') 10 data = a_file.writelines([time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), '\n', usr_say, '\n', '\n']) 11 a_file.close()
文件“修改”:
1 with open('test.txt', encoding='utf-8') as f,\ 2 open('test.bak', 'w', encoding='utf-8') as f2: # 打开f文件,创建f2文件 3 for line in f: # 找到满足条件的一行 4 if '18' in line: 5 line = line.replace('18', '27') # 修改该行 6 f2.write(line) # 写入f2文件 7 8 import os 9 os.remove('test.txt') # 删除文件 10 os.rename('test.bak', 'test.txt') # 重命名文件

浙公网安备 33010602011771号