如何写入 Python 子进程的标准输入?

2023-12-13

我正在尝试编写一个启动子进程并写入子进程标准输入的Python 脚本。我还希望能够确定子进程崩溃时要采取的操作。

我试图启动的进程是一个名为nuke它有自己的内置 Python 版本,我希望能够向其提交命令,然后在命令执行后告诉它退出。到目前为止,我已经弄清楚,如果我在命令提示符下启动Python,然后启动nuke作为子进程,然后我可以输入命令nuke,但我希望能够将这一切放入一个脚本中,以便主 Python 程序可以启动nuke然后写入其标准输入(因此进入其内置的Python版本)并告诉它做一些时髦的事情,所以我编写了一个脚本来启动nuke像这样:

subprocess.call(["C:/Program Files/Nuke6.3v5/Nuke6.3", "-t", "E:/NukeTest/test.nk"])

然后什么也没有发生,因为nuke正在等待用户输入。我现在如何写入标准输入?

我这样做是因为我正在运行一个插件nuke这会导致它在渲染多个帧时间歇性崩溃。所以我希望这个脚本能够启动nuke,告诉它做某事,然后如果它崩溃了,请重试。因此,如果有一种方法可以捕获崩溃并且仍然正常,那就太好了。


使用可能会更好communicate:

from subprocess import Popen, PIPE, STDOUT
p = Popen(['myapp'], stdout=PIPE, stdin=PIPE, stderr=PIPE)
stdout_data = p.communicate(input='data_to_write')[0]

“更好”,因为这个警告:

使用communicate()而不是.stdin.write、.stdout.read或.stderr.read来避免由于任何其他操作系统管道缓冲区填满并阻塞子进程而导致的死锁。

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

如何写入 Python 子进程的标准输入? 的相关文章

  • 在Python中读取PDF属性/元数据

    如何使用 Python 读取 PDF 文件中存储的属性 元数据 例如标题 作者 主题和关键字 Try pdfminer https github com euske pdfminer from pdfminer pdfparser impo
  • 如何计算Numpy数组中特定范围内的值?

    我有一个 NumPy 值数组 我想计算有多少个值在特定范围内 例如 x25 我已阅读有关计数器的信息 但它似乎仅对特定值有效 对值范围无效 我已经搜索过 但没有找到任何关于我的具体问题的信息 如果有人能指出我正确的文档 我将不胜感激 谢谢
  • 我是否必须覆盖子类中的所有数学运算符?

    我想在 Python 3 7 程序中创建一个简单的 Point2d 类 仅实现一些功能 我在一个 SO 答案中看到 我现在找不到 创建 Point 类的一种方法是重写complex所以我写了这个 import math class Poin
  • 使用输入按钮处理网站上的分页

    试图使用硒抓取这个网站 我的代码可以工作 但目前它只抓取第一页 该页面使用输入按钮作为浏览页面的一种方式 因此我想逐个单击每个按钮 但它不起作用 有没有人有任何其他方法来处理此类分页的导航 import requests from sele
  • 特定代码行的类似装饰器的语法

    链接主题 但不重复 装饰器对代码的特定行而不是整个方法进行计时 https stackoverflow com questions 30433910 decorator to time specific lines of the code
  • XGBoost 产生预测结果和概率

    我可能正在文档中查看它 但我想知道 XGBoost 是否有办法生成结果的预测和概率 就我而言 我正在尝试预测多类分类器 如果我能返回Medium 88 那就太好了 分类器 中 预测概率 88 参数 params max depth 3 ob
  • 使用非负约束进行优化

    考虑以下功能 import numpy as np import scipy optimize as opt import math Periodic indexation def pl list i return list i len l
  • 使用 Pandas 解析时避免 Excel 的科学记数法舍入

    我有一个自动生成的 Excel 文件 其中偶尔包含非常大的数字 例如135061808695 在 Excel 文件中 当您单击单元格时 它会显示完整的数字135061808695然而 在视觉上 使用自动 常规 格式 数字显示为1 35063
  • 加速 Numpy 数组上的循环

    在我的代码中 我有一个 for 循环 它对多维 numpy 数组进行索引 并使用每次迭代时获得的子数组进行一些操作 看起来像这样 for sub in Arr do stuff using sub 现在使用完成的东西sub是完全矢量化的 所
  • python subprocess proc.stderr.read() 引入额外的行?

    我想运行一些命令并抓取输出到 stderr 的任何内容 我有两个版本的函数可以执行此操作 版本 1 def Getstatusoutput cmd Return status output of executing cmd in a she
  • 如何将字符串列表转换为正确的 Python 类型?

    给定一个 python 字符串列表 如何自动将它们转换为正确的类型 意思是 如果我有 hello 3 3 64 1 我希望将其转换为列表 hello 3 3 64 1 其中第一个元素是字符串 第二个元素是 int 第三个元素是 float
  • QFileDialog 作为 TableView 的编辑器:如何获取结果?

    我正在使用一个QFileDialog作为某些专栏的编辑QTableView 这基本上有效 对一些焦点问题取模 请参阅here https stackoverflow com questions 22854242 qfiledialog as
  • 如何在 pygame 中水平翻转图像?

    这是在 pygame 如何翻转图像 假设一个图像 猪向右看 时向左看 我按向左箭头键 然后保持这样 即使我不按任何键或者按向上和向下箭头键 那么 当我按向右箭头键时 如何再次将其切换回向右看 并使其保持这种状态 即使我不按任何键或按向上和向
  • 正则表达式 - Python - 删除前导空格

    我使用正则表达式在文本文件中搜索 产品 一词 然后 我使用该搜索的起点和终点来查看该列并提取整数 有些实例 A 列 有我不想要的前导空格 我只想将数字 如 B 列中的数字 打印到文件中 没有前导空格 正则表达式中的正则表达式 有条件的 pr
  • 如何根据python中的文件名检索每个文件的datemodtime?

    我当前的流程涉及循环遍历源目录并将每个文件的名称添加到 python 中的数据帧中 我也想获取每个文件的修改日期 import datetime import os import pandas as pd set src directory
  • 哪些 2to3 修复程序输出有效的 Python 2 代码?

    2to3 是一个 Python 程序 它读取 Python 2 x 源代码并应用一系列修复程序将其转换为有效的 Python 3 x 代码 考虑一下列出的四十个修复者https docs python org 3 library 2to3
  • Python - 函数无法在新线程中运行

    我正试图杀死notepad exe使用此函数在 Windows 上进行处理 import thread wmi os print CMD Kill command called def kill c wmi WMI Commands not
  • Pandas - 过滤器和正则表达式搜索 DataFrame 的索引

    我有一个 DataFrame 其中列是 MultiIndex 索引是名称列表 即index Andrew Bob Calvin 我想创建一个函数来返回数据帧中使用名称 Bob 或以字母 A 开头或以小写字母开头的所有行 如何才能做到这一点
  • 在ActivePython-2.6中安装pyCurl?

    我过去曾使用过 pyCurl 并让它与我的系统默认 python 安装一起使用 但是 我有一个项目需要 python 更具可移植性 并且我正在使用 ActivePython 2 6 到目前为止 我安装任何其他模块都没有问题 但安装 pyCu
  • 在python中读取证书(.crt)和密钥(.key)文件

    因此 我使用 JIRA Python 模块连接到我公司的 JIRA 实例 它要求我为此传递证书和密钥 但是 使用 OpenSSL 模块 我无法读取本地证书和密钥来将其传递给请求 阅读代码如下 import OpenSSL crypto c

随机推荐

  • pygame精灵墙碰撞[重复]

    这个问题在这里已经有答案了 我正在用 python 和 pygame 开发一个平台游戏 完整代码可以在 https github com C Kimber FBLA Game 我遇到的问题是玩家精灵和墙壁精灵之间的碰撞 特别是角落 当玩家按
  • 术语查找机制可以通过id以外的其他字段查询吗?

    这里是elasticsearch官网关于术语的介绍 https www elastic co guide en elasticsearch reference 2 1 query dsl terms query html 正如我们所看到的
  • 使用 JavaScript 检查浏览器 CSS 属性支持?

    JavaScript 是否可以知道客户端浏览器是否支持 CSS 属性 我说的是CSS3的旋转属性 我只想在浏览器支持的情况下执行某些功能 我相信你可以这样做 if WebkitTransform in document body style
  • 如何手动验证模型的属性?

    我有一堂课叫User和一个财产Name public class User Required public string Name get set 我想验证它 如果有任何错误添加到控制器的ModelState或实例化另一个模型状态 Http
  • 通过互联网的 RMI iiop

    我正在尝试获取 OracleRMI IIOP 示例工作 但我在 Netbeans 中执行此操作时遇到问题 我的代码如下 界面 import java rmi Remote import java rmi RemoteException pu
  • 为什么在 while 循环之后我只获得最后一行值?

    这是我正在阅读的文件 Log1 Time Src id Des id Address 0 34 56 x9870 2 36 58 x9872 4 38 60 x9874 6 40 62 x9876 8 42 64 x9878 Log2 Ti
  • 如何将 FacesMessage 从支持 bean 附加到 ui:repeat 中的特定字段?

    我有一个具有可变数量输入元素的表单 如下所示
  • 创建文件后发生文件共享冲突?

    因此 我尝试创建一个 txt 文件 然后向其中写入一些愚蠢的数据 但我遇到了共享违规 我感觉这可能是因为我试图在创建文件后直接为其创建 StreamWriter 但这没有意义 所以我有点失落 我已经尝试删除类中除错误行之外的所有其他 Str
  • PHP 脚本不会在后台运行

    我正在尝试在后台运行 php CLI 脚本 但它无法运行 它的状态为 已停止 SIGTOU 尝试写入输出 以下是详细信息 Mac OS X Lion 10 7 2 PHP 5 3 6 与 Suhosin Patch cli 构建时间 201
  • 为什么我的 CodeIgniter 表单验证不起作用?

    我正在尝试在使用表单助手创建的简单联系表单上设置验证 根本不会发生任何验证 怎么了 在下面的代码中 无论在表单中输入什么内容 good 关键字始终显示 并且从不显示通过 set value 设置的保存值 控制器 Contact functi
  • CasperJS 不能要求下划线

    我在用着CasperJS运行自动化前端测试 但在我的测试中使用其他 npm 模块时遇到了问题 我知道patchRequire但是我相信这只能在测试环境之外调用 因为测试运行程序补丁会自动需要 我确实包含了它 但结果是一样的 它说找不到该模块
  • 更改 JavaScript Prompt() 显示的格式和文本?

    我正在使用 JavaScriptprompt 功能 var favorite prompt What is your favorite color RED 我使用的是 IE 7 打开的提示框有一个标题栏 上面写着 资源管理器用户提示 还有更
  • constexpr 与 const 对比 constexpr const

    变量上的 const 与 constexpr 这家伙关于 constexpr 的说法是正确的if double被使用 或float当然 但是 如果您将 var 类型更改为double对于像 int char 等整数类型 一切正常 为什么会发
  • C#调用WinApi?

    我正在尝试调用 WinAPI 函数DeviceIoControl在 C 中使用代码IOCTL DISK SET DISK ATTRIBUTES并传递结构SET DISK ATTRIBUTES 我正在尝试用这段代码来做到这一点 const u
  • 如何将 setup.py 替换为 pyproject.toml 以获取本机 C 构建依赖项?

    我碰到this用于创建 C 编译版本的小项目布莱克 斯科尔斯python 中要使用的函数 虽然示例代码似乎是今年7月发布的 但似乎使用setup py旧版构建之外的构建类型已被弃用 任何编译失败 先抱怨缺失MS C 14编译器 这不是真的
  • NSString 反斜杠转义

    我正在开发一个 iPhone OS 应用程序 该应用程序向 Web 服务发送 xml 请求 为了发送请求 xml 被添加到 NSString 中 这样做时我遇到了一些引号问题 和反斜杠 在 xml 文件中 需要转义 是否有需要转义的字符的完
  • R 中的 Bootstrap 置信区间

    我是 R 新用户 在使用启动包时遇到问题 我想要做的就是使用 bootstrapping 来生成围绕数字向量均值的置信区间 例如 x lt rnorm 100 1 5 有小费吗 以下还不够吗 library boot x lt rnorm
  • 了解 rowwise() 和 c_across()

    您好 任何人都可以提供外行人的解释 为什么这两种尝试计算分数的行平均值的方法效果不同 谢谢 library tidyverse var1 lt rnorm 100 var2 lt rnorm 100 var3 lt rnorm 100 df
  • 如果 URL 包含特定字符串,则 htaccess 重定向

    我该如何写一个 htaccess如果 URL 包含某个单词 则重定向规则 例如如果它包含foobar然后重定向到index php RewriteCond REQUEST URI foobar RewriteRule index php o
  • 如何写入 Python 子进程的标准输入?

    我正在尝试编写一个启动子进程并写入子进程标准输入的Python 脚本 我还希望能够确定子进程崩溃时要采取的操作 我试图启动的进程是一个名为nuke它有自己的内置 Python 版本 我希望能够向其提交命令 然后在命令执行后告诉它退出 到目前