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)