簡體   English   中英

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

[英]How to delete a specific line in text file python using indices?

例如我有這個文本文件:subj.txt它包含下面的文本(主題|時間)

astro1|1:00-2:00
act2|2:00-3:00
speech1|4:00-5:00

順便說一句,我正在使用tkinter創建一個gui。 單擊按鈕時,將出現帶有文本輸入的窗口,程序將要求用戶輸入將刪除的課程。 因此,當用戶選擇astro1並單擊該按鈕時,將在文本文件中刪除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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM