Python-从长时间运行的子进程读取输出[重复]

2023-12-03

使用 subprocess 模块 (Python 2.7),我正在运行命令并尝试在运行时处理其输出。

我有如下代码:

process = subprocess.Popen(
    ['udevadm', 'monitor', '--subsystem=usb', '--property'],
    stdout=subprocess.PIPE)
for line in iter(process.stdout.readline, ''):
    print(line)

但是,即使我添加,输出也只会在我按 Ctrl+C 后打印sys.stdout.flush()在打印语句之后。

为什么会发生这种情况?我如何实时传输此过程的输出?

值得注意的是,这udevadm monitor命令并不打算终止,因此我不能简单地等待进程终止并立即处理其输出。

I found 子进程命令的实时输出但接受的答案中的方法并没有解决我的问题。


你可以使用unbuffer :

process = subprocess.Popen(
    ["unbuffer", 'udevadm', 'monitor', '--subsystem=usb', '--property'],
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in iter(process.stdout.readline, ''):
    print(line)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python-从长时间运行的子进程读取输出[重复] 的相关文章

  • Pandas groupby 和描述标志 AttributeError

    我有一堆数据存储在vals 指数是单调的 但不连续 我试图对数据的直方图进行一些分析 因此我创建了以下结构 hist pd DataFrame vals hist bins pd cut vals 100 这是从实验仪器中获取的数据 我知道
  • Keras 中的 load_model 和 Lambda 层

    如何加载具有 lambda 层的模型 这是重现行为的代码 MEAN LANDMARKS np load data mean shape 68 npy def add mean landmarks x mean landmarks np ar
  • 使用seaborn,我如何在散点图上画一条我选择的线?

    我希望能够在seaborn 生成的图中画出一条符合我规范的线 我选择的图是 JointGrid 但任何散点图都可以 我怀疑seaborn可能不容易做到这一点 以下是绘制数据的代码 来自 Iris 数据集的花瓣长度和花瓣宽度的数据帧 impo
  • Python2 math.fsum 不准确?

    我正在使用 python2 数学模块来计算 fsum 的总和 据我所知 0 1通常不能存储二进制 据我了解 math fsum 应该以某种方式解决这个问题 import math math fsum 0 0 0 1 0 1 math fsu
  • 如何显示 pymongo.errors.OperationFailure 详细信息?

    写入 MongoDB 时 我在 python 中遇到 pymongo OperationsFailure 除了回溯之外 还有没有办法打印出详细信息或代码属性 另请参阅 http api mongodb org python current
  • 将鼠标悬停在 Folium 的弹出窗口中

    用这样一个简单的例子 import folium map 1 folium Map location 45 372 121 6972 zoom start 12 tiles Stamen Terrain folium Marker 45 3
  • 来自 yahoo 的 python lxml etree 小程序信息

    雅虎财经更新了他们的网站 我有一个 lxml etree 脚本 用于提取分析师建议 然而现在 分析师的建议已经存在 但只是以图表的形式出现 你可以看到一个例子这一页 https finance yahoo com quote CSX ana
  • 如何在 Pandas 中用多个唯一字符串替换重复值?

    import pandas as pd import numpy as np data Name Tom Tom Jack Terry Age 20 21 19 18 df pd DataFrame data 假设我有一个如下所示的数据框
  • Python + Selenium:驱动程序路径

    是否有可能在不输入路径的情况下运行 Python Selenium 脚本exePython 行中每个脚本中的文件 driver webdriver Chrome 同样的问题也适用于 IE 驱动程序 Edge 驱动程序 和 Gecko 驱动程
  • 在ubuntu中安装pyinterval

    我正在尝试安装 python 库 pyinterval 它需要 crlibm C 标头 我已安装该标头 没有错误 但似乎是问题的根源 当我跑步时 sudo easy install pyinterval 我得到以下信息 Searching
  • 如何在不使用pygame的情况下检测按键事件和按键按住事件

    我目前正在寻找一个能够检测 监视键盘的库 我的目的是检测何时按下某个键 以及当它发生时应该发生一些事情 大多数 SO 帖子建议使用 pygame 但我发现它有点太多了 涉及一个像这样的库来完成这个简单的任务 我也尝试过pynput 这导致只
  • 如何有效地找到两个轮廓集之间的所有交点

    我想知道找到两组轮廓线之间所有交点 舍入误差 的最佳方法 哪种方法最好 这是示例 import matplotlib pyplot as plt import numpy as np x np linspace 1 1 500 X Y np
  • OSMNX - 边缘的哪个“部分”被认为是最近的

    我正在使用 OSMNX 中的 returned edges 函数 我不清楚在进行此计算时使用边缘的哪个 部分 它是边缘的任何部分吗 是中间点吗 对于网络中的长边来说 这会产生很大的差异 这取决于您如何参数化该函数 来自nearest edg
  • 如何使用 BeautifulSoup 排除表中的某些行?

    我已经从表格中获得了所需的数据 但不想要各个玩家统计数据之间的缩写 Rk Pos Name 等 如何在保留所需数据的同时排除这些数据 包含缩写的行被归类为 thead 但我不知道如何使用该信息来跳过它 我知道玩家的数据都被压缩在一起 但现在
  • tkinter - 在askopenfile期间检索文件名

    我有一个用 Python 和 tkinter 制作的文本编辑器 这是我的 打开文件 方法 def onOpen self file askopenfile filetypes Text files txt txt file read sel
  • Pygame - 两个圆圈的碰撞检测

    我正在制作一个碰撞检测程序 其中我的光标是一个半径为 20 的圆 当它碰到另一个圆时应该将值更改为 TRUE 出于测试目的 我在屏幕中心有一个半径为 50 的固定圆 我可以测试光标圆是否击中固定圆 但它不能正常工作 因为它实际上是在测试它是
  • 使用 Cython 扩展模块分发共享库和一些 C 代码

    我正在尝试从大型 C 共享库 libbig so 中获取一些函数 并通过 Cython 将它们公开给 Python 为此 我有一个小 C 文件 small cpp 它为我需要的共享库的功能提供了一个薄包装器 从而可以轻松地通过 Cython
  • 无法通过蓝牙读取心率服务

    我希望创建一个简单的 python 脚本 通过蓝牙从 Polar 传感器读取心率数据 我已经阅读了很多其他帖子 但找不到我能够成功执行的简单内容 我有 Polar 可穿戴设备的设备 MAC 地址 我知道我想要读取的值的服务 UUID HR
  • Numpy 相当于 if/else 不带循环

    有没有任何Pythonic方法可以删除下面代码中的for循环和if else 此代码迭代 NumPy 数组并检查条件并根据条件更改值 gt gt gt import numpy as np gt gt gt x np random rand
  • 命名空间与常规包

    命名空间 Python 包之间有什么区别 没有 init py 和一个常规的Python包 有一个 init py 特别是当 init py普通包裹是空的吗 我很好奇 因为最近我忘记了 init py在我制作的包中 我从未注意到任何问题 事

随机推荐

  • 两个数组的高效匹配(如何使用KDTree)

    我有两个二维数组 obs1 and obs2 它们代表两个独立的测量系列 并且都具有dim0 2 并且略有不同dim1 say obs1 shape 2 250000 and obs2 shape 2 250050 obs1 0 and o
  • 对数轴标签/刻度定制

    我正在使用JFreeChart用于在我的 Java 应用程序中生成一些图表的 API 在我的一张图表中 我尝试使用LogAxis对象通过以下代码使我的 y 轴成为对数刻度轴 图中的 A LogAxis logAxis new LogAxis
  • 忘记了密钥库密码,正在考虑暴力检测。它会损坏密钥库吗?

    我最近意识到我丢失了密钥库的密码 或者密钥库可能以某种方式损坏了 它一直给我错误 密钥库被篡改或密码不正确 我创建了一个 相当未优化的 算法 通过让它运行整夜来暴力破解密码 但是 我不确定有多少次不成功的密码尝试会锁定密钥库 有谁知道这样的
  • 如何将多个文件附加到Android中的电子邮件客户端

    我在用Intent ACTION SEND获取默认电子邮件客户端 它工作正常 但现在我需要将多个文件附加到电子邮件中 email putExtra android content Intent EXTRA STREAM 仅附加最后添加的 u
  • Ruby roo LoadError:无法加载此类文件 - 电子表格/注释

    尝试加载 xls 文件并收到此错误 有控制台日志 irb main 001 0 gt require roo gt true irb main 002 0 gt a Roo Excel new home a xls LoadError ca
  • 如何比较条件中的两个字段/列?

    我很难弄清楚如何让子查询工作 想象一下我有 schools gt select this gt Schools gt select pupilcount gt this gt Pupils gt find gt select this gt
  • UITableView 可编辑(可重新排列),无需删除单元格

    我想知道是否有一种方法可以使 UITableView 可编辑 用户可以重新排列 移动 单个 TableView 单元格 但不会出现 删除单元格 功能 感谢您的帮助 sam 您是否尝试过实现editingStyleForRowAtIndexP
  • 已弃用、已折旧和已过时之间的区别[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 对此有很多困惑 我想知道 两者之间到底有什么区别折旧的 已弃用 and obsolete 在编程环境中 而且在一般情况下也是如此 我知道我可以看一本在线词典 而且我已经看过了 甚至很
  • 使用 console.log 检查 FormData 对象[重复]

    这个问题在这里已经有答案了 我已经创建了FormData像这样创建的对象 var data new FormData data append image input 0 files 0 data append user hubot 现在当我
  • 对列中的多个值使用 ifelse 语句

    我有一个大约有 3000 行的表 其数据格式为 Number Type 10001 0 10005 7 10006 0 10007 14 10012 16 10022 14 10023 0 10024 0 10029 7 10035 17
  • 为什么应该使用 strncpy 而不是 strcpy?

    编辑 我已经添加了示例的源代码 我碰到这个例子 char source MAX 123456789 char source1 MAX 123456789 char destination MAX abcdefg char destinati
  • 如何将多个 Seaborn 绘图保存到单个 pdf 文件中

    因此 我尝试将在 for 循环中创建的多个绘图保存到单个 pdf 文件中 我在 SO 上进行了搜索 并拼凑了一些似乎可以工作的代码 除了它不保存它创建的 pdf 中的数字 但其中没有任何内容 这是重现它的代码 import numpy as
  • 如何以及何时在 Python Pandas 中使用链索引?

    我正在学习数据科学course关于 Python 中的数据分析 在课程中的某个时刻 教授说 您可以将操作链接在一起 例如 我们可以重写查询 所有 Store 1 的成本为 df loc Store 1 Cost 这看起来很合理 并且得到了我
  • 如何编辑 gpedit 策略

    我想问一下如何使用C 编辑gpedit msc策略 gpedit msc 只是注册表设置的一个界面 gpedit 没有 API 或公开框架 要像 gpedit 一样操作一个值 您需要操作关联的注册表键值 class RegKey stati
  • 如何用 python 检测按键释放(而不是按键)?

    如何使用 python 3 检测按键释放 就像我按下了键一样a1秒 当我将手指从琴键上移开时 松开钥匙 它会print Key a pressed then released 我尝试用模块来做到这一点keyboard但我不知道如何使用它 我
  • 为什么在 R 中会导致无效格式 '%d?

    下面给出的代码是将二进制文件从 float32 转换为比例因子为 10 的 16b 我收到 d 无效的错误 setwd C 2001 for b in paste data 1 365 flt sep conne lt file b rb
  • 如何抓取动态分配其内容的 Microsoft CVE 网页(最好使用 Python)?

    相关页面是https portal msrc microsoft com en US security guidance advisory CVE 2018 8176 查看页面源代码时 我没有获得有关渲染页面内容的任何相关信息 如何抓取描述
  • 如何让2个div同时滚动

    对于我的网站设计 我有一个 div class stuffhere div 内容存储的位置 这些 div 有 2 个 第二个在第一个之前 借助z index 还有两者的内容stuffhere标签重复 但有时顶层的图像stuffhere被替换
  • PhpMyAdmin 安装错误

    我刚刚在 Linux Fedora 13 上使用 PHP 5 3 3 安装了 phpmyadmin 我收到以下 2 个错误 首先 我在登录屏幕上看到以下内容 无法加载 mcrypt 扩展 请 检查你的 PHP 配置 我在 google 上搜
  • Python-从长时间运行的子进程读取输出[重复]

    这个问题在这里已经有答案了 使用 subprocess 模块 Python 2 7 我正在运行命令并尝试在运行时处理其输出 我有如下代码 process subprocess Popen udevadm monitor subsystem