2014-11-06 56 views
-4

我有一個包含100個條目的文件。刪除python文件中的記錄

如果一個記錄與用戶輸入的文件相匹配,我想從該文件中刪除該記錄內容。

我如何在python中做到這一點?

+5

刪除整個內容或只是找到的行?另外,你有沒有試過,你有什麼計劃來完成這個? – 2014-11-06 19:05:56

+0

只是發現行 – 2014-11-06 19:07:48

回答

1
with open(your_f) as f: 
    lines = f.readlines() 
    for ind, line in enumerate(lines): 
     if your condition: # if line contains a match 
      lines[ind] ="" # set line to empty string 
    with open(your_f,"w") as f: # reopen with w to overwrite 
     f.writelines(lines) # write updated lines 

例如除去一個txt文件中的一行,與55開始:

with open("in.txt") as f: 
    lines = f.readlines() 
    for ind, line in enumerate(lines): 
     if line.startswith("55"): 
      lines[ind] = "" 
    with open("in.txt","w") as f: 
     f.writelines(lines) 

輸入:

foo 
bar 
55 foobar 
44 foo 

輸出:

foo 
bar 
44 foo 
+0

非常感謝你! – 2014-11-06 19:19:27