控制台和文件上的 Python 输出

2023-12-28

我正在编写一个代码来分析 PDF 文件。我想在控制台上显示输出,并在文件中保存输出的副本,我使用以下代码将输出保存在文件中:

import sys
sys.stdout = open('C:\\users\\Suleiman JK\\Desktop\\file.txt',"w")
print "test"

但是我是否也可以将输出显示到控制台,但不使用类,因为我不擅长它们?


(这个答案使用 Python 3,如果您更喜欢 Python 2,则必须对其进行调整。)

首先导入Pythonlogging https://docs.python.org/3/library/logging.html包(和sys用于访问标准输出流):

import logging
import sys

在你的入口点,设置一个处理程序 https://docs.python.org/3/howto/logging.html#useful-handlers对于标准输出流和输出文件:

targets = logging.StreamHandler(sys.stdout), logging.FileHandler('test.log')

and 配置日志包 https://docs.python.org/3/library/logging.html#logging.basicConfig仅输出不带日志级别的消息:

logging.basicConfig(format='%(message)s', level=logging.INFO, handlers=targets)

现在您可以使用它:

>>> logging.info('testing the logging system')
testing the logging system
>>> logging.info('second message')
second message
>>> print(*open('test.log'), sep='')
testing the logging system
second message
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

控制台和文件上的 Python 输出 的相关文章

随机推荐

  • Ionic 构建时阻止 HTTPS --release android apk

    调试 apk 工作正常 这排除了通常的嫌疑 但是当我构建 签名 安装发布版本时 角度无法进行 https http API 调用 http 到同一端点 我允许调试 可以工作 科尔多瓦白名单已安装ionic plugin add cordov
  • 如何将离线 HTML5 Web 数据库与集中数据库同步

    我希望能够在 HTML5 iPad Web 应用程序中执行以下操作 将数据上传到在线数据库 如果我用 SQLite 之类的东西构建在线数据库 大小可能 将数据的子集或完整副本提取到离线网络数据库 超出3G网络覆盖范围 对下载的数据执行一系列
  • 超链接 HREF 不起作用

    我正在考虑一个新的网站想法 但是当我测试它时 A HREF 不起作用 它甚至没有显示手指 手指针 它是内容区域的文本 标题下的第一个白色块 但不是菜单 标题应该是帖子的链接 Wordpress 无效链接的屏幕截图 红色箭头 http new
  • 为什么此方法会导致代码分析错误 CA2000: Call Dispose()

    我正在使用 Microsoft Minimal Rules 代码分析集构建我的项目 它为我提供了关于此方法的 CA2000 private Timer InitializeTimer double intervalInSeconds Tim
  • 在 Git 中引用提交的子级

    如果您想移动HEAD到当前的父级HEAD 这很容易 git reset hard HEAD 但是有没有简单的方法可以执行与此操作完全相反的操作 即将头设置为当前头的第一个子提交 现在 我使用 gitk 作为解决方法 alt tab 向上箭头
  • Activeadmin 和 Formtastic:表单不响应:size

    我正在尝试格式化表单 文本字段响应某些方法 而不响应其他方法 我可以做这样的事情 f input name input html gt maxlength gt 10 f input name input html gt disabled
  • 神秘的底部边框

    我答应改变一个电子商务网站上的标志 虽然需要几分钟 但它花了很多小时 所以我希望有更多 CSS 经验的人可以帮助我 这是网站 http varuosad ee http varuosad ee 我似乎无法做到 tr 包含与图像 155px
  • Perl 6 分别捕获重复匹配组?

    我相信 Perl 6 提供了单独捕获重复组的能力 而不是早期的风格 您只能捕获最后一个组或整个匹配的组字符串 有人可以举一个很好的例子来说明如何使用 Perl 6 的这个很棒的功能吗 例如 我需要捕获此正则表达式的所有匹配组 and say
  • XPath:如何选择与同一级别的其他元素相关的元素

    问题很简单 但我对这种情况没有足够的练习 如何获得price如果我们知道我们只需要 块 中每个 div 的文本值商品促销元素 div class block div class item promo item div div class i
  • Python 上的 OpenCV 中的立体校准

    我是 OpenCV 新手 找不到 Python 上的 StereoCalibration 的正常教程 如果您有一些示例 请分享 I do single calibration for each of cameras and i have n
  • 如何针对特定活动禁用 Android 软键盘?

    我有一个包含一个 EditText 的活动 我只需要输入数字 现在 我已将 EditText 的输入类型定义为仅数字 并绘制了一个漂亮的键盘供用户使用 但是我还需要确保用户单击时不会弹出软键盘编辑文本 我尝试通过添加来通过清单隐藏键盘 an
  • 使用打开的终端 Windows 目录路径在 OSX(Snow Leopard) 中打开新的终端选项卡

    我已经在谷歌上搜索了一段时间 寻找一种简单的方法来做到这一点 但我找不到 我设置了一个自定义终端环境 zsh 其中包含各种别名和函数 以使事情变得更容易 我不断遇到的一件事是 我将快速 APPLE t 创建一个新选项卡 然后键入相对于我刚刚
  • Android - 设置应用程序的默认“打开支持的链接”选项

    如何控制默认值Open supported links到任一Ask every time or Open in this app对于我的 Android 应用程序 它发生在清单中吗 我有两个应用程序尝试接受相同的通用链接方案 理想的行为是让
  • 套接字上的 ClamAV clamd INSTREAM 出现间歇性问题

    我有一个运行 NodeJS 代码的 AWS Lambda 函数 用于将文件从 S3 流式传输到在 EC2 实例上运行的 ClamAV 一般来说 大约 75 的时间 系统可以正常工作 但经常 特别是当从不同的 Lambda 容器扫描多个文件时
  • Scala:谁能解释一下?

    考虑以下 Scala 代码 case class Data T value Option T def get T try doGet catch case e Exception gt throw new IllegalArgumentEx
  • Kotlin 中的按钮数组

    如何在 Kotlin 的 android studio 中创建按钮数组 我已经在 xml 文件中创建了带有 id 的按钮 现在我想在 Kotlin 代码中使用与数组元素相同的按钮 我尝试过这样的事情 var buttons Array
  • 有人在 R 中实现 Eureqa 接口吗?

    好吧 这个问题并不完全是技术性的 但非常相关且当前 如果您可能还没有听说过 Eureqa http creativemachines cornell edu eureqa 是一种基于机器学习 的工具 可帮助您找到数据中隐藏的方程和数学关系
  • Hibernate中的“删除哪里”级联删除?

    我正在尝试通过其外键之一级联删除连接表中的行 并且它有另一个与其相关的表 我也想删除与此 ID 关联的所有行 所以看起来如下图所示 当我将 Session delete reqCandObject 与 hibernate 一起使用时 它工作
  • 持久化自定义对象

    我有一个简单地继承自 NSObject 的自定义对象 它有 3 个成员 两个花车和一个NSDate 我的应用程序将有一个数组 其中包含许多这些对象 并且我需要在运行之间保留它 我怎样才能做到这一点 我考虑过使用 SQLite 数据库 但我认
  • 控制台和文件上的 Python 输出

    我正在编写一个代码来分析 PDF 文件 我想在控制台上显示输出 并在文件中保存输出的副本 我使用以下代码将输出保存在文件中 import sys sys stdout open C users Suleiman JK Desktop fil