如何使用python从字典写入文件
我有一个特定的格式,我想遵循。事情是这样的 1 aaa 2 bbb 3 ccc 等 由单个空格分隔的键和值。我有代码把它变成字典,但我不知道如何做相反的事情。我必须将文件内容写入字典的代码是如何使用python从字典写入文件,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我有一个特定的格式,我想遵循。事情是这样的 1 aaa 2 bbb 3 ccc 等 由单个空格分隔的键和值。我有代码把它变成字典,但我不知道如何做相反的事情。我必须将文件内容写入字典的代码是 def readlines(self): self.user_list = {} for line in score_file: (key, val) = line.split() self.user_list[key]
def readlines(self):
self.user_list = {}
for line in score_file:
(key, val) = line.split()
self.user_list[key] = val
我需要在程序过程中更新上述词典,然后将更新后的内容以文件中的格式打印到文件中。我更倾向于使用与上述代码相反的代码遵循类似的格式,而不需要导入任何模块。该文件的格式为.txt。谢谢您的帮助。您只能将字符串写入文件,而不能写入字典。为此,您必须将字典转换为字符串,然后将其推送到文件中
import json
myDict = {1: 'value1',2:'value2'}
with open('myfile.txt', 'w') as file:
file.write(json.dumps(myDict))
我建议你每次需要的时候都关闭你的文件。所以它不会一直开着
def write_to_file(self):
# w for write mode
score_file = open('rating.txt', 'w', encoding='utf-8')
to_write = ""
# please rename self.user_list as it is not a list but a dictionary
for key in self.user_list.keys():
# value + space + key + new line
to_write += self.user_list[key] + " " + key + "\n"
score_file.write(to_write)
# if you don't need the file anymore, close it
score_file.close()
不使用json模块就可以将字典直接写入文件。如果不使用json模块,我将如何操作。我无法使用上述模块。请尝试使用pip install json@botonini。意思是,我目前正在学习使用Jetbrains程序,但我无法使用它。不过谢谢你的帮助。:)op希望输出文件的格式与输入文件的格式相同,而不是jsontry this
for k,v in self.user_list.items():fw.write(k+''+v+'\n')
我对python还很陌生。“fw.write”是做什么的?fw
文件以fw的形式打开写入open('output.txt','w')
我已经以score\u file=open('rating.txt','r+',encoding='utf-8')的形式导入了它。
我将如何使用这种导入方式打开该代码?您是创建新文件还是尝试更新同一个文件?它没有按预期工作,它没有更新列表,而是在文件末尾添加了“JJ300Nathan 500”。它的分数已更新,但之前的剩余部分仍在那里,且其NT间隔。我该如何解决这个问题。谢谢您的帮助。它添加了它,因为您在读取+模式下打开了文件。此模式将仅附加,而不是覆盖。我应该使用什么模式。我仍然需要能够读它和写它。对不起,没有收到。我还是新手。还有,我该如何正确地格式化它呢?还有,它被关闭得更远了。我只是不想发布整件事。如果我使用write+的话,在我访问任何值之前,文件都会被擦除。