File io 保存和删除文件I/O
问题分为两部分 首先,我如何改变它(我试过使用'for',但我想不出来),使它像这样保存; “key-value”而不是“{key:value}”File io 保存和删除文件I/O,file-io,for-loop,dictionary,python-3.x,File Io,For Loop,Dictionary,Python 3.x,问题分为两部分 首先,我如何改变它(我试过使用'for',但我想不出来),使它像这样保存; “key-value”而不是“{key:value}” with open("phonebook.txt", "w") as x: json.dump(a, x) 第二,如何使用用户输入从文件中删除。 我看不出有什么办法可以把它改为从文件中删除,而不是删除dict'a' name = input("enter name of contact you want to delete: ") if n
with open("phonebook.txt", "w") as x:
json.dump(a, x)
第二,如何使用用户输入从文件中删除。
我看不出有什么办法可以把它改为从文件中删除,而不是删除dict'a'
name = input("enter name of contact you want to delete: ")
if name in a:
del a[name]
编辑。这就是我现在所做的,但它没有达到预期的效果(我还尝试在x所在的位置添加.readlines,但它只是得到了错误)
def save(a):
with open("phonebook.txt", "w") as x:
for k in a:
json.dump(str(k)+" "+str(a[k]), x)
def load():
a = {}
with open("phonebook.txt", "r") as f:
for l in f:
a[l[0]] = l[1]
print (a)
def save工作正常(就我所知)
我也试过c=l.split()和a[c[0]=c[1]。只是不想工作!第一部分
这不是JSON格式。如果需要其他内容,请不要使用它。使用纯文本文件,如
with open("phonebook.txt","w") as file :
for key, value in a.items() :
file.write(str(key)+" "+str(value))
第二部分
看起来您已将文件加载到字典a
。在这种情况下,您只需在删除后将字典a
写回文件。如果您尚未将文件加载到字典中,则可以使用以下方法执行此操作:
a= {}
with open("phonebook.txt") as file :
for line in file.readlines() :
content= line.split()
a[content[0]]= content[1]
第一部分
这不是JSON格式。如果需要其他内容,请不要使用它。使用纯文本文件,如
with open("phonebook.txt","w") as file :
for key, value in a.items() :
file.write(str(key)+" "+str(value))
第二部分
看起来您已将文件加载到字典a
。在这种情况下,您只需在删除后将字典a
写回文件。如果您尚未将文件加载到字典中,则可以使用以下方法执行此操作:
a= {}
with open("phonebook.txt") as file :
for line in file.readlines() :
content= line.split()
a[content[0]]= content[1]
我使用json是因为“a”是一本字典。我不太明白你在第二部分说的话。文件还没有加载到a中,这是我可以在帮助下做的。。Thanks@StandingBird文件不能像内存中的数据结构那样容易操作。意思是:将文件加载到字典中,进行删除,然后编写字典back到文件。@StandingBird除了使用
json
外,你还可以用很多方法为文件编写字典。特别是如果你不喜欢json
的格式!好吧,我明白你的意思。不过我不太知道怎么做。(初学者,只需要几天的学习时间).你能告诉我正确的方向而不告诉我确切的代码吗(如果你明白我说的话lol).我使用json是因为“a”是一本字典。我不太明白你在第二部分说的话。该文件尚未加载到a中,这是我可以在帮助下做的。。Thanks@StandingBird文件不能像内存中的数据结构那样容易操作。意思是:将文件加载到字典中,进行删除,然后编写字典回到文件。@StandingBird除了使用json
外,你还可以用很多方法为文件编写字典。特别是如果你不喜欢json
的格式!好吧,我明白你的意思。不过我不太知道怎么做。(初学者,只需要几天的学习时间).你能告诉我正确的方向而不告诉我确切的代码吗(如果你明白我说的lol)。