例如,我有这个文本文件:subj.txt它包含下面的文本(主题|时间)
astro1|1:00-2:00
act2|2:00-3:00
speech1|4:00-5:00
顺便说一句,我正在使用tkinter创建一个GUI。 单击按钮时,将出现一个带有文本输入的窗口,程序将要求用户输入将删除的课程。因此,当用户选择 astro1 并单击按钮时,textfile 中的 astro1 将被删除,ac2 和语音 2 将上升。这是什么代码?
例如,我有一个名为self.courseent的输入框,我在下面有一个按钮功能:
f=open("subj.txt",'r')
for x in f:
a=x.split('|')
if self.courseent.get()==a[0]:
#the line where the a[0] will be deleted
你的问题看起来很像这个问题:
如何在 C# 中删除文本文件中的行?
实际上,文件不允许您简单地从文件中删除一行。您要做的是将内存中的所有文件作为列表读取,从列表中删除该行,然后在写入模式下重新打开文件并重写所有内容。如果文件太大而无法加载到内存中,则应写入其他文件,然后将临时文件复制到文件中。
https://docs.python.org/2/library/tempfile.html