Python 仅将字典值写入文本文件
我只想将字典值逐行写入文本文件。我可以使用以下命令将整个字典写入文件:Python 仅将字典值写入文本文件,python,file-io,dictionary,Python,File Io,Dictionary,我只想将字典值逐行写入文本文件。我可以使用以下命令将整个字典写入文件: log_disk={} log=open('log.txt','w') log.write(str(log_disk)) log.close() 任何帮助都将不胜感激。此外,我希望在写入文件时避免那些值为“空”的键。只需在值上循环,然后: with open('log.txt','w') as log: for value in log_disk.values(): log.write('{}\n'
log_disk={}
log=open('log.txt','w')
log.write(str(log_disk))
log.close()
任何帮助都将不胜感激。此外,我希望在写入文件时避免那些值为“空”的键。只需在值上循环,然后:
with open('log.txt','w') as log:
for value in log_disk.values():
log.write('{}\n'.format(value))
将数据写入JSON未格式化字符串
您可以将数据转储为JSON,而不格式化写入一行的JSON数据
不要忘记添加换行符:
>>> import json
>>> data = {}
>>> with open(fname, "a") as f:
... json.dump(data, f)
... f.write("\n")
...
尝试使用其他数据:
>>> data = {"a": "aha", "b": "bebe"}
>>> with open(fname, "a") as f:
... json.dump(data, f)
... f.write("\n")
...
它不必是字典,列表也起作用:
>>> data = range(10)
>>> data
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> with open(fname, "a") as f:
... json.dump(data, f)
... f.write("\n")
...
逐行读取数据
您只需将log_disk.values()转换为一个列表,就可以直接写入它们
with open(filename) as openfile:
json.dump(list(log_disk.values()), file)
如何将存储为列表的值进一步拆分为新行???@user3787457:如果您的值本身是列表,那么也将循环每个值<代码>用于日志磁盘中的值。值():,
用于值中的元素:
,日志。写入('{}\n'.format(elem))
。
with open(filename) as openfile:
json.dump(list(log_disk.values()), file)