使用 fileinput (Python) 进行搜索和替换,同时还将消息发送到控制台

2024-04-03

我有台词

for line in fileinput.input(file_full_path, inplace=True):
    newline, count = re.subn(search_str, replace_str, line.rstrip())
    # ... display some messages to console ...
    print newline # this is sent to the file_full_path

应该替换所有出现的search_str在文件中file_full_path并将它们替换为replace_str. The fileinput maps stdout到给定的文件。所以,print newline和东西发送到sys.stdout被发送到文件而不是控制台。

我想在这个过程中向控制台显示一些消息,例如我可以显示将要发生替换的行的部分或其他一些消息,然后继续print newline到文件中。这个怎么做?


来自 Python 文档:

可选的就地过滤:如果关键字参数 inplace=1 是 传递给 fileinput.input() 或 FileInput 构造函数,文件 被移动到备份文件并且标准输出定向到输入 文件(如果已存在与备份文件同名的文件,则 将被默默地替换)。

所以你应该写入 stderr 以在控制台中显示消息,如下所示:

import sys

for line in fileinput.input(file_full_path, inplace=True):
    newline, count = re.subn(search_str, replace_str, line.rstrip())
    sys.stderr.write("your message here")
    print newline
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 fileinput (Python) 进行搜索和替换,同时还将消息发送到控制台 的相关文章

  • 运行 Djangocollectstatic 时如何忽略目录?

    我正在使用 Django 1 3 Ubuntu 11 10 gunicorn 和 Nginx 运行一个小型测试项目 所有内容都在 virtualenv 中 现在我正在运行collectstatic 将静态文件放入 Nginx 提供服务的目录
  • 重复 for 循环的迭代

    如果出于某种原因我想重复相同的迭代 我该如何在 python 中做到这一点 for eachId in listOfIds assume here that eachId conatins 10 response makeRequest e
  • Socket:Python中的2路通信

    我想要在 Python 中进行双向通信 我想绑定到一个客户端可以连接的套接字 然后服务器和客户端可以彼此 聊天 我已经有了基本的监听器 import socket HOST localhost PORT 50008 s socket soc
  • 如何在Mandlebrot张量流程序中显示图像。当前输出是

    导入模拟库 import tensorflow as tf import numpy as np 导入可视化 from PIL Image from io import BytesIO from IPython display import
  • 更改 Django 中的表名称

    我读过 Django 中的表名可以使用自定义元选项 https docs djangoproject com en dev ref models options 我想知道如何使用 db table 选项来继续使用应用程序名称 但稍微修改模型
  • matlab的imregionalmax()和scipy.ndimage.filters.maximum_filter有什么区别

    我需要找到图像的区域最大值以获得用于分水岭分割的前景标记 我在 matlab 中看到使用该函数imregionalmax http www mathworks com help images ref imregionalmax html 由
  • 从Python运行Scrapy

    我正在尝试从 Python 运行 Scrapy 我正在查看这段代码 source http doc scrapy org en 0 16 topics practices html from twisted internet import
  • Python下载具有特定文件名的youtube

    我正在尝试下载 youtube 视频pytube这边走 from pytube import YouTube YouTube http youtube com watch v 9bZkp7q19f0 streams first downlo
  • python 中的神经网络:决策/分类总是给出 0.5

    首先我想说我是一个Python初学者 对神经网络也是完全陌生的 当我读到它时 我非常兴奋 并认为我从头开始设置了一些代码 参见下面的代码 但不知怎的 我的代码无法正常工作 我猜想存在一些重大错误 在算法和编程中 但我现在找不到他们 所以 在
  • 了解 Python 2.7 中 io.open() 方法的缓冲参数

    我试图理解的缓冲参数io open https docs python org 2 library functions html openPython 2 7 中的方法 我在Python解释器中执行 import utils buffer
  • 通过key查询模型

    我想做的是查询数据存储中的模型 其中密钥是not我已经拥有的对象的密钥 这是一些代码 class User db Model partner db SelfReferenceProperty def text message self ms
  • 传递导入错误:ModuleNotFoundError:没有名为“...”的模块

    我现在很困惑 这是项目树 project source lib init py utils py stats py test lib test stats py stats py has import utils 如果执行的话确实有效sta
  • Python:多 QQ 绘图

    我是新人 通常来自 R 我想创建一个包含多行的 QQ Plot 我有一个测试版分布式数据集 我想尝试不同的 beta 分布参数并在oneQQ Plot 以便更好地进行比较 如果我尝试下面的代码 每个图都有相同的颜色 并且我得到 3 条 QQ
  • 删除超过 7 天的文件

    我看过一些帖子删除特定文件夹中的所有文件 不是文件夹 但我根本不明白它们 我需要使用 UNC 路径并删除所有超过 7 天的文件 Mypath files data APIArchiveFolder 有人有快速脚本 可以专门输入上面的路径来删
  • 来自 Abaqus/CAE 的 Python 多处理

    I am using a commercial application called Abaqus CAE1 with a built in Python 2 6 interpreter and API I ve developed a l
  • 过滤(减少)NumPy 数组

    假设我有一个 NumPy 数组arr我想根据 可广播 函数的真值进行逐元素过滤 减少 例如 我只想获取低于某个阈值的值k def cond x return x lt k 有几种方法 例如 使用发电机 np fromiter x for x
  • 无法在 Debian lenny 上安装 python 模块“pycrypto”

    我尝试通过下载源代码并执行以下命令来安装 pycrypto 模块python setup py install 然后出现错误 running install running build running build py running bu
  • 获取矩阵中总和值最大的列

    比方说 import numpy as np f np matrix 1 2 3 4 5 6 是否可以从矩阵中检索具有最大列和的列数 如何 你可以写 gt gt gt f sum axis 0 argmax 1 所以专栏1求和到最大的值 为
  • 使用 setuptools 从私有 Gitlab 包存储库安装 Python 包

    我为我的雇主创建了一个私人套餐 由于我被禁止将其上传到 PyPI 它是专有的 因此我将其上传到我们私人 Gitlab 中心上的项目的包索引中 我可以手动安装它 pip install my package extra index url h
  • 在Python中返回外部函数错误

    这就是问题 给定以下 Python 程序 假设用户从键盘输入数字 4 返回的值是多少 N int input enter a positive integer counter 1 while N gt 0 counter counter N

随机推荐