python - 如何将python屏幕输出保存到文本文件

标签 python python-2.7

我想从字典中查询项目并将打印输出保存到文本文件。

这是我所拥有的:

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/

相关文章:

python - PIP安装程序中manylinux1和manylinux2020轮文件的区别

python - 如何使用依赖项维护 python 应用程序,包括我自己的自定义库?

python - 如何将 python wordcloud 元素传递给 svgwrite 方法以生成 wordcloud 的 svg?

python - 处理一列列表时,如何使用 to_tsv() 将单引号切换为双引号?

python - 模糊正则表达式、文本处理、词法分析?

用于增量内循环的python

python - 为什么我们在Windows环境变量中添加Python中的2个目录路径

python - 包含分号的 POST 在分号后被截断

python mongodb $match 和 $group

python - App Engine Python 身份验证自定义重定向