可以使用readlines()函数读取原文件的所有行保存到列表,再遍历每一行,在每一行文件后去除换行符,使用+拼接python成绩,再加一个换行符再写入新文件就可以了。
代码如下:
参考链接:
import random
# https://blog.csdn.net/wzhrsh/article/details/101629075
with open("shiyan8_3.txt",'w') as f:
with open("shiyan8_1.txt",'r') as f1:
# https://blog.csdn.net/weixin_44245595/article/details/114503612
stus = f1.readlines() # 读取文件的所有行,保存到列表中,每一个元素保存一行
# print(stus)
for stu in stus: # 遍历读取到的每一行
# https://blog.csdn.net/m0_62735081/article/details/124978101
# https://www.runoob.com/python3/ref-random-randint.html
pythonScore = random.randint(60,100) # 产生一个60到99之间的成绩
# https://www.jb51.net/article/279851.htm
stu=stu.strip() # 删除每一行结尾的换行,此函数也可以删除前导的换行符
# 将每一行删除换行后的学生信息,添加上Python成绩,以及一个换行后
# 写入shiyan8_3.txt文件
stu=stu+' Python考试'+str(pythonScore)+'分\n'
f.write(stu)
shiyan8_1.txt:(测试数据文件)
2020级信息与计算科学班, 学号: 1
2020级信息与计算科学班, 学号: 2
2020级信息与计算科学班, 学号: 3
2020级信息与计算科学班, 学号: 4
2020级信息与计算科学班, 学号: 5
2020级信息与计算科学班, 学号: 6
2020级信息与计算科学班, 学号: 7
2020级信息与计算科学班, 学号: 8
2020级信息与计算科学班, 学号: 9
2020级信息与计算科学班, 学号: 10
2020级信息与计算科学班, 学号: 11
2020级信息与计算科学班, 学号: 12
2020级信息与计算科学班, 学号: 13
最近在做基于YOLOv3的火焰目标检测项目,在制作数据集时,发现图片名称很是杂乱,不利于YOLOv3模型的训练,所以编写python程序对文件夹下的图片和labels文件夹下的txt文件进行批量重命名。