python子进程的自定义标准输入

2024-01-02

我正在运行这样的 SSH 进程:

sshproc = subprocess.Popen([command], shell=True)
exit = os.waitpid(sshproc.pid, 0)[1]

这将起作用并打开一个交互式终端。基于以下文档subprocess, sshproc正在使用脚本的sys.stdin.

问题是:如何将这个子进程收到的输入打印到 stderr 或文件?我正在创建一个日志记录 API,目前无法记录在此 SSH 会话上运行的命令。

我不需要答案,只需要朝着正确的方向轻推即可。

感谢大家!

EDIT:启动如上所示的过程非常重要,这样我就可以与我的用户进行交互式 SSH 会话。例如。我无法使用communicate()据我所知。


sshproc = subprocess.Popen([command],
                        shell=True,
                        stdin=subprocess.PIPE,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE,
                        )

stdout_value, stderr_value = sshproc.communicate('through stdin to stdout')
print repr(stdout_value)
print repr(stderr_value)

啊,既然你说朝正确的方向轻推,我想我应该给你指出一些好的读物:

  • http://www.doughellmann.com/PyMOTW/subprocess/ http://www.doughellmann.com/PyMOTW/subprocess/
  • 从 python subprocess.Popen(command, stderr=subprocess.PIPE, stdout=subprocess.PIPE) 捕获 stderr https://stackoverflow.com/questions/914320/capture-stderr-from-python-subprocess-popencommand-stderrsubprocess-pipe-std

-

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

python子进程的自定义标准输入 的相关文章

  • 漂亮的地图打印机会抛出类型错误

    我已经使用配置了漂亮的打印机http wiki eclipse org CDT User FAQ How can I inspect the contents of STL containers 3F http wiki eclipse o
  • Visual Studio Code:如何使用参数调试 Python 脚本

    我正在使用 Visual Studio Code 来调试 Python 脚本 下列的本指南 https code visualstudio com docs python debugging 我在中设置了参数launch json file
  • 从 Python 将分层 JSON 数据写入 Excel xls?

    我想将一些数据从 python 写入 xlsx 我目前将其存储为 JSON 但它从 Python 中输出什么并不重要 单个文章的 JSON 如下所示 Word Count 50 Key Words Blah blah blah Foo Fr
  • 无法使用 Python 循环分页 API 响应

    所以 我对这个感到摸不着头脑 使用 HubSpot 的 API 我需要获取我客户的 门户 帐户 中所有公司的列表 遗憾的是 标准 API 调用一次只能返回 100 家公司 当它返回响应时 它包含两个参数 使分页响应成为可能 其中之一是 ha
  • 更改 numpy 数组的结构强制给定值

    如何缩小栅格数据的比例4 X 6大小成2 X 3如果 2 2 像素内的任何元素包含 1 则大小强制选择 1 否则选择 0 import numpy as np data np array 0 0 1 1 0 0 1 0 0 1 0 0 1
  • Python ElementTree 获取带有命名空间的属性

    我试图访问 XML 中的 def 所以在这个例子中我会得到Evolus Common PlainTextV2作为输出 我似乎无法弄清楚如何获取具有名称空间的属性 如果我想得到id它工作得很好 Python for content ns in
  • 从 Spark 数据帧中过滤大量 ID

    我有一个大型数据框 其格式类似于 ID Cat date 12 A 201602 14 B 201601 19 A 201608 12 F 201605 11 G 201603 我需要根据大约 500 万个 Is 的列表来过滤行 最直接的方
  • 为什么在 __init__ 函数中声明描述符类会破坏描述符功能?

    在下面的 B 类中 我想要 set 每当您赋值给 A 类中的函数时 就会调用该函数B a 相反 将值设置为B a覆盖B a与价值 C类分配给C a工作正常 但我想为每个用户类都有一个单独的 A 实例 即我不想在 C 的一个实例中更改 a 来
  • 如何使用 numpy 从一维数组创建对角矩阵?

    我正在使用 Python 和 numpy 来做线性代数 我表演了numpy对矩阵进行 SVD 以获得矩阵 U i 和 V 然而 i 矩阵表示为 1 行的 1x4 矩阵 IE 12 22151125 4 92815942 2 06380839
  • Python 中使用 globals() 的原因?

    Python 中有 globals 函数的原因是什么 它只返回全局变量的字典 这些变量已经是全局的 所以它们可以在任何地方使用 我只是出于好奇而问 试图学习Python def F global x x 1 def G print glob
  • Django - 使 ModelForm(ImageField 的)仅接受某些类型的图像

    我将 Pillow 2 3 0 与 Django 一起使用 并且在 models py 中有一个 ImageField 如下所示 class UserImages models Model user models ForeignKey Us
  • 使用 os.forkpty() 创建一个伪终端以 ssh 到远程服务器并与其通信

    我正在尝试编写一个 python 脚本 它可以 ssh 到远程服务器 并可以从 python 客户端执行 ls cd 等简单命令 但是 在成功 ssh 到服务器后 我无法读取伪终端的输出 任何人都可以在这里帮助我 以便我可以在服务器上执行一
  • Python Tkinter 网格复选框

    我想知道是否有一种简单的方法可以使用 Tkinter 创建复选框网格 我正在尝试制作一个由 10 行和 10 列 即 100 个复选框 组成的网格 以便每行只能选择两个复选框 编辑 我正在使用带有spyder的python 2 7 到目前为
  • 安塞布尔 + 10.11.6

    我在 非常 干净地安装 10 11 6 时遇到了 Ansible 的奇怪问题 我已经安装了brew zsh oh my zsh Lil snitch 和1password 实际上没有安装其他任何东西 我安装了ansible brew ins
  • 获取 python 模块的 2 个独立实例

    我正在与以非 OO 方式编写的 python 2 x API 进行交互 它使用模块全局范围来处理一些内部状态驱动的东西 在它不再是单例的情况下需要它 并且修改原始代码 不是我们的 不是一个选择 如果不使用单独解释器的子进程运行 有什么方法可
  • Django INSTALLED_APPS 的命名约定是如何工作的?

    该网站上的教程创建了一个名为 polls 的应用程序 它使用 django 1 9 所以在 INSTALLED APPS 中它是 polls apps PollsConfig 我正在观看一个教程 他将应用程序命名为新闻通讯 并且在 INST
  • 从 python 文件调用 Julia 函数

    我能够创建一个 docker 环境 然后按照这个线程我有一个用 Julia 编写的高性能函数 如何从 Python 中使用它 https stackoverflow com questions 64241264 i have a high
  • python:xml.etree.ElementTree,删除“命名空间”

    我喜欢 ElementTree 解析 xml 的方式 特别是 Xpath 功能 我有一个带有嵌套标签的应用程序的 xml 输出 我想按名称访问此标签而不指定名称空间 这可能吗 例如 root findall molpro job 代替 ro
  • 访问影子 DOM 中的元素

    是否有可能查找 Shadow DOM 中的元素与蟒蛇硒 示例用例 我有这个input with type date
  • scikit-learn kmeans 聚类的初始质心

    如果我已经有一个可以作为初始质心的 numpy 数组 我该如何正确初始化 kmeans 算法 我正在使用 scikit learn Kmeans 类 这个帖子 具有选定初始中心的 k 均值 https stackoverflow com q

随机推荐

  • 如何在android中定义像这样的三角形布局?

    如何创建如图所示的布局 我想你可以使用android rotation 45 在图像上放置一个交叉的组件并产生这种效果
  • 瓷砖重叠有什么好处?

    刚开始玩 OpenSeadragon 顺便说一句 非常好 并创建自定义图块集 我想知道创建重叠图块的优点或缺点是什么 我尝试过使用 0 似乎没问题 但我想知道是否有任何清晰度或性能优势或图块重叠 我认为 DeepZoom 格式使用 4 为例
  • MediaCapture Windows 8 桌面应用程序 - 无法运行

    我正在尝试通过此 API 实现图像捕获 并且我需要通过桌面应用程序实现 问题是当我将图像保存到文件中时 使用CapturePhotoToStorageFileAsync 我得到一张暗图片 几乎是黑色 或者我得到零大小的文件 我的代码很简单
  • 如何使静态样式表在 django 中工作?

    通过正常运行此代码html它运行起来也很有风格 但每当我在 django 中运行它时 它都不会运行 只显示文本 views py def index request return render request index html main
  • 如何使用 Json.NET 在 C# 中向 JSON 添加根节点?

    我正在研究Visual Studio C 项目 我需要转换JSON to XML 我收到JSON以字符串格式 问题是 我需要有一个根节点JSON结构如果JSON没有 这样我就可以转换为XML与所需的格式 假设我有这个JSON id 1 na
  • 查找并替换Android studio

    有没有办法在整个项目中查找和替换单词的所有出现 不仅仅是使用重构 gt 重命名的单个类 并维护大小写 无论是在 android studio 中还是使用命令行脚本 例如 供应商必须转到商家 供应商 gt 商家 供应商 gt 商家 我的老板希
  • 使用 DataAnnotations 和 DataType 验证电子邮件模型

    我有以下型号 public class FormularModel Required public string Position get set Required DataType DataType EmailAddress public
  • JDBC-接口的实现

    在 JDBC 中 为了连接和执行 DB 中的语句 我们主要使用 Connection Statement 和 ResultSet 这些接口 但它们相应的对象稍后用于运行 createStatement executeQuery next 等
  • 使用 Node.js 将一行写入 .txt 文件

    我想使用 Node js 创建一个简单的日志系统 它将上一行之前的一行打印到 txt 文件中 但是 我不知道 Node js 的文件系统功能是如何工作的 有人可以解释一下吗 将数据插入文本文件的中间并不是一项简单的任务 如果可能 您应该将其
  • 现有文件中的组织不明确:{ .... }。必须指定 --org 命令行参数才能重新创建项目

    尝试在 Windows 上运行我现有的 flutter 应用程序时 出现以下异常 异常 未配置 Windows 桌面项目 请参阅https flutter dev desktop add desktop support to an exis
  • Google 脚本触发器未触发

    我正在努力让我的脚本在早上 6 点自动运行 左右 我设置了触发器来在 上午 6 点至 7 点 之间的 日定时器 上运行此脚本 时间驱动 我没有收到任何失败通知 设置为立即通过电子邮件发送给我 但脚本没有运行 当我手动运行它时 它的工作原理与
  • BaseTransientBottomBar 和相关错误以及如何解决

    首先 我尝试解决以下问题 步骤 1 我在 BaseActivity 和 BaseActivity 抽象类中放置了一个方法 以了解 Activity 何时停止以及视图 片段的根视图 何时被销毁 在两种情况下返回 true 但在事件之前返回 f
  • TypeScript 设置 HTMLCollectionOf、NodeCollection、google 自动完成表单的 css 样式

    如何为 HTMLCollectionOf 或 NodeCollection 设置 css 样式 let items document querySelectorAll pac item as NodeListOf
  • WampServer - mysqld.exe 无法启动,因为缺少 MSVCR120.dll

    我尝试在本地运行 wampserver 但 mysql 服务器未运行 当我尝试安装服务 它给我错误 我一整天都在寻找答案 并在这里和那里找到了一些答案 但任何解决方案对我都不起作用 我尝试在 Windows 7 家庭操作系统 vmware
  • 如何在一行上运行PowerShell?

    As per 这个答案 https stackoverflow com questions 22258668 how to condense powershell script to fit on a single line PowerSh
  • 我们可以增加Android手机麦克风的增益吗?

    我正在尝试增加 Android 手机麦克风的增益 以便它能够听到非常微小的声音 这可能吗 你能帮我解决这个问题吗 这个链接 http developer android com reference android media AudioMa
  • Flask 消息在重定向时闪烁失败

    我目前正在使用一个项目Flask http en wikipedia org wiki Flask 28programming 29 and 谷歌应用引擎 http en wikipedia org wiki Google App Engi
  • 无法读取 PNG 文件的 IHDR 块

    I have read PNG file specification and learnt that after the first 8 bytes of PNG signature we have the IHDR chunk This
  • 在 C++ 中创建只读(公共)类成员

    我有像 Actionscript 3 这样的语言背景 我们有一种特殊的方式将成员变量定义为实例和设置 获取受保护或私有成员的值的方法 让我举个例子吧 在一个类中 我们可以这样说 private var myString String pub
  • python子进程的自定义标准输入

    我正在运行这样的 SSH 进程 sshproc subprocess Popen command shell True exit os waitpid sshproc pid 0 1 这将起作用并打开一个交互式终端 基于以下文档subpro