python - 使用inplace = True时如何在控制台上打印?
问题描述
使用时for line in fileinput.input(file, inplace=True)
,任何print
命令都将在文本文件中打印,而不是在控制台上。但我想用来print
调试。那么如何实现打印到控制台之后for line in fileinput.input(file, inplace=True)
呢?
解决方案
有效地将标准输出重定向到您正在读取的文件的inplace=True
参数。fileinput.input
您可以使用关键字参数指定要写入的不同文件。print
file
import sys
import fileinput
for line in fileinput.input(file, inplace=True):
print("new content")
print("debugging", file=sys.stderr)
如果你从
a
b
c
那么你的文件看起来像
a
new content
b
new content
c
new content
在这个循环运行之后,你会看到
debugging
debugging
debugging
写入标准错误。
推荐阅读
- assembly - 尝试将字符串打印到控制台但是我得到了额外的字符,我不知道为什么
- javascript - 如何水平和垂直对齐输入和标签
- c# - C# 为什么结构类型的类字段占用的空间比结构的大小还要多?
- javascript - Next.js 在 Chrome 上使用 Ant Design 闪烁
- javascript - 如何在本机反应中将值传递给Formik的组件部分
- node.js - 创建一个 npm 命令来创建一个包含内容但末尾没有新行的文件
- c - 如何使我的函数适用于 C 中的任意维度
- inet - 是否可以在 INET 的 MAC 层协议中获取 Ipv4Header?
- settings - 如何调整视觉工作室(2015)中的设置以减少空间
- github - Github Auth 令牌在 auth.json 文件 Magento 2.4.2 中不起作用