我想从字典中查询项目并将打印输出保存到文本文件。
这是我所拥有的:
import json
import exec.fullog as e
inp = e.getdata() #inp now is a dict() which has items, keys and values.
#Query
print('Data collected on:', inp['header']['timestamp'].date())
print('\n CLASS 1 INFO\n')
for item in inp['Demographics']:
if item['name'] in ['Carly', 'Jane']:
print(item['name'], 'Height:', item['ht'], 'Age:', item['years'])
for item in inp['Activity']:
if item['name'] in ['Cycle', 'Run', 'Swim']:
print(item['name'], 'Athlete:', item['athl_name'], 'Age:', item['years'])
最佳答案
在脚本中执行此操作的一种快速而肮脏的技巧是将屏幕输出定向到文件:
import sys
stdoutOrigin=sys.stdout
sys.stdout = open("log.txt", "w")
然后在代码末尾恢复输出到屏幕:
sys.stdout.close()
sys.stdout=stdoutOrigin
这应该适用于简单的代码,但对于复杂的代码还有其他更正式的方法,例如使用 Python logging .
关于python - 如何将python屏幕输出保存到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25023233/