如何使用索引删除文本文件中的特定行python



例如,我有这个文本文件: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

相关内容

  • 没有找到相关文章