【发布时间】:2017-01-13 11:44:29
【问题描述】:
我制作了一个名为 contacts.txt 的文本文件,其中包含:
锅 2000
德里克 45
雪 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', '') 正如其他论坛所建议的那样,但它不起作用。
注意事项:
- 我在其他论坛上阅读的所有内容都要求我创建一个新文件,但我不想这样做;我只想要一个文件。
- 我第一次打开文件时已经尝试了 'r+' 并插入了一个 for 循环,它只选择不包含输入单词的行,但它也不起作用。
【问题讨论】:
标签: python