检索 subprocess.call() 的输出[重复]

2023-11-29

如何使用以下命令获取进程运行的输出subprocess.call()?

通过一个StringIO.StringIO反对stdout给出这个错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 444, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 588, in __init__
    errread, errwrite) = self._get_handles(stdin, stdout, stderr)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 945, in _get_handles
    c2pwrite = stdout.fileno()
AttributeError: StringIO instance has no attribute 'fileno'
>>> 

如果你的Python版本>=2.7,你可以使用subprocess.check_output它基本上完全符合您的要求(它以字符串形式返回标准输出)。

简单例子(linux版本,见注释):

import subprocess

print subprocess.check_output(["ping", "-c", "1", "8.8.8.8"])

请注意,ping 命令使用 Linux 表示法(-c用于计数)。如果您在 Windows 上尝试此操作,请记住将其更改为-n以获得相同的结果。

正如下面的评论,您可以在中找到更详细的解释这个另一个答案.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检索 subprocess.call() 的输出[重复] 的相关文章

随机推荐

  • Java MySQL 准备语句批处理

    我正在尝试使用准备好的语句批处理 但遇到问题 以下代码不会给我错误 但它仅在表中插入地图的最后一个键 我不知道为什么 这肯定是一个非常愚蠢的错误 但这是我第一次使用 addBatch 方法 Class forName com mysql j
  • 使用 ScreenCapture.CaptureScreenshot 捕获并保存屏幕截图

    我一直在尝试截取屏幕截图 然后立即使用它来显示某种预览 有时它有效 有时则无效 我目前不在工作 而且我没有统一这台计算机 所以我将尝试即时重新创建它 这里和那里可能存在一些语法错误 public GameObject screenshotP
  • 使用coord_equal()时,使用cowplot::plot_grid()垂直对齐不同高度的图

    我正在尝试使用组合两个 ggplot 对象cowplot plot grid 并垂直对齐它们 这通常非常简单 使用align v dat1 lt data frame x rep 1 10 2 y 1 20 dat2 lt data fra
  • Java - 赋值的左侧必须是变量

    我正在尝试制作一个小程序来定位不同的城市 作为我的第一个 Java 项目 我想从 城市 类访问 GPS 类的变量 但我不断收到此错误 赋值的左侧必须是变量 任何人都可以向我解释我在这里做错了什么以及如何避免将来出现此类错误 public c
  • 在没有软件包的情况下在 python 中实现 Haar 小波

    我正在尝试编写一个代码来实现离散小波变换 haar 小波 dwt 而不使用 python 中的包 到目前为止 我找到了一个链接 他们实现了类似的功能 该链接这个小波变换实现正确吗 运行时没有报错 但最终结果不正确 我运行的代码是 def d
  • 根据所选的货币代码设置货币格式,无论设备的区域设置如何 (Swift)

    我正在尝试根据用户选择的货币来格式化货币 如果未选择货币 则使用设备的当前区域设置进行格式化 但是 我遇到了问题 我正在使用数字格式化程序将双精度格式格式化为货币字符串 let formatter NumberFormatter forma
  • 如何在 Windows 7 中使用 C/C++ 将麦克风静音?

    我使用 WinAPI 编写了一个将麦克风静音的程序 它似乎在 Windows XP 中完美运行 但在 Windows 7 中不起作用 是否可以在 Windows 7 中使用 WinAPI 控制麦克风音量或静音 void setVolume
  • 使用 JS 从 html 表中的第一列搜索值?

    我有这张桌子 th Example No th th Column 1 th tr td 3512376894 td td email protected td tr 我有一个脚本可以按所有列搜索值 但我想做的就是仅使用 td id 按第一
  • python ctypes,通过引用传递双指针

    问题 我正在尝试使用具有以下原型的 C 库中的函数 int glip get backends const char name size t count The name这里的争论就是问题所在 它是一个通过引用传递的二维字符数组 在 C 语
  • 副本集 my-mongo-set 的新配置 1 中描述的主机没有映射到此节点

    我正在使用 Docker 设置 MongoDB 集群 我有一个 bash 脚本 它启动三个共享网桥的容器 以便它们可以相互通信 我可以连接到网络中的所有 MongoDB 数据库 NodeJS 脚本将集群成员添加到网络中 docker rm
  • AngularJS |使用 ng-class 的条件类

    我想将条件类应用于页面上的元素 目前它正在使用以下代码 ng class vfnz form error loginForm username invalid 如果输入字段无效 这将应用无效类 我想申请 valid 用户输入字段有效时的类
  • 使用 XDocument 生成具有多个命名空间的 XML

    我有这样的 XML
  • “connectedAndroidTest”任务成功后运行 gradle 任务 X

    我有一个等级taskX我想追寻的connectedAndroidTest任务完成 但前提是所有测试都通过connectedAndroidTest 我怎样才能做到这一点 你需要利用finalizedBy以及特定任务的状态检查 具体方法如下 t
  • Android 中下载队列中的文件

    如何将队列中的多个文件一一下载 我在用着this作为示例代码 因为 我将传递要从本地数据库动态下载字符串的 URL 请让我知道该怎么做 我希望应用程序启动后立即开始下载 请帮助我 Android 开发类型 新手下载队列的目的 应用内计费成功
  • new Date() 与 Date() 以及为什么它返回不同的时间(-2 小时)?

    我有这 2 个控制台日志 但它们返回的时间不同 2 小时关闭 console log new Date Date 2015 04 20T15 37 23 000Z console log Date Mon Apr 20 2015 17 37
  • Pandas 数据框:使用线性插值重新采样

    我正在尝试获得一种相当基本的重采样方法来处理 pandas 数据框 我的数据框 df 按日期时间条目索引并包含价格 price datetime 2000 08 16 09 29 55 755000 7 302786 2000 08 16
  • 规范化为 3NF(第三范式)时,可以将复合键和/或外键移动到其他表吗

    我的数据库设计目前处于 3NF 问题是外键 在某些情况下是复合键 如果与复合 外键关联的属性不依赖于主键 您是否可以移动复合键和 或外键来创建其他表 我怀疑答案是肯定的 因为这个链接 第三范式中是否包含外键 最佳答案 仅仅因为它是外键并不意
  • Jenkins - 使用curl获取最新的工件

    我一直在四处寻找 但找不到如何使用curl 下载最新的工件 甚至只是知道链接 我发现了永久链接和 api xml json 提要 其中包含所需的所有数据 例如工件名称等 还发现了压缩所有工件的特殊链接 但我的工件已经压缩了 有没有一种方法可
  • Wxpython 在主机启动时显示对话框

    我是一个使用 python 和 wxpython 的新人 我在主机启动后显示登录表单对话框时遇到问题 例如这张照片 所以如果用户没有登录 主机就无法访问 如果用户单击关闭 关闭按钮 它也会关闭主框架 请给我一个示例代码 import wx
  • 检索 subprocess.call() 的输出[重复]

    这个问题在这里已经有答案了 如何使用以下命令获取进程运行的输出subprocess call 通过一个StringIO StringIO反对stdout给出这个错误 Traceback most recent call last File