每次我添加新的lin时Python文件都会覆盖

2024-06-16 12:27:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个程序,用户可以添加一个学生从学生.txt生成一个新的.txt文件,输出如下

这是我的内容学生.txt在

201707001 Michael_Tan
201707002 Richard_Lee_Wai_Yong 
201707003 Jean_Yip 
201707004 Mark_Lee 
201707005 Linda_Wong 
201707006 Karen_Tan 
201707007 James_Bond
201707008 Sandra_Smith
201707009 Paul_Garcia 
201707010 Donald_Lim

这是我的密码

^{pr2}$

我希望我的输出是什么

Module 201707001 Michael_Tan
Module 201707002 Richard_Lee
Module 201707003 Jean_Yip

但是输出被覆盖了只有一行,即使我添加了3次模块

Module 201707003 Jean_Yip

Tags: 文件用户程序txtrichard内容jean学生
1条回答
网友
1楼 · 发布于 2024-06-16 12:27:59

更改:

with open(home + "\\Desktop\\PADS Assignment\\210CTStudentModule.txt", "w") as f:

收件人:

with open(home + "\\Desktop\\PADS Assignment\\210CTStudentModule.txt", "a") as f:

您正在使用"w",它将覆盖以前的任何内容。您需要"a",它将在不覆盖现有文件的情况下附加到现有文件。在

有时,用户会被锁定在程序中打开并写入的文件之外,如果不关闭这些文件,这些文件就会变成read-only。在askModule()函数的末尾添加f.close()和{},因为您不需要再打开这些文件了。在

相关问题 更多 >