Bootstrap

python删除txt指定内容_如何从文本文件中删除包含特定单词的整行?

我制作了一个名为contacts.txt的文本文件,其中包含:pot 2000

derek 45

snow 55

我想获取要删除的联系人的用户输入(名称),并删除包含该名称的整行。到目前为止,我所做的是:# ... previous code

if int(number) == 5:

print "\n"

newdict = {}

with open('contacts.txt','r') as f:

for line in f:

if line != "\n":

splitline = line.split( )

newdict[(splitline[0])] = ",".join(splitline[1:])

print newdict

removethis = raw_input("Contact to be removed: ")

if removethis in newdict:

with open('contacts.txt','r') as f:

new = f.read()

new = new.replace(removethis, '')

with open('contacts.txt','w') as f:

f.write(new)

当我输入“pot”时,我返回到文本文件,只有“pot”被删除,“2000”仍保留在那里。我试过了

new = new.replace(removethis + '\n', '')正如其他论坛所建议的那样,但是没有起作用。在

注意事项:我在其他论坛上读到的所有东西都要求我创建一个新文件,但我不想这样;我只想要一个文件。在

我在第一次打开文件并插入for循环时已经尝试过“r+”,该循环只拾取不包含输入字的行,但它也不起作用。在

;