2014-11-06 92 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