Python:手动输入运行shell脚本

2024-02-25

例如,shell 脚本在提示符处获取一个整数并返回它。

Enter an integer:
--> 3
3

我在用着subprocess.check_call(["./myScript"])运行 shell 脚本。我怎样才能自动发送"3"如上例所示?到目前为止,我所有的搜索只恢复了如何使用命令行参数运行脚本,而不是这种手动输入。


正如之前的答案所解释的subprocess.Popen https://docs.python.org/2/library/subprocess.html#popen-constructor可用于创建可以交互的流程communicate https://docs.python.org/2/library/subprocess.html#subprocess.Popen.communicate. communicate接受字符串作为参数,该参数将传递给创建的进程并返回元组(stdout, stderr)。下面是两个与之通信的 Python 脚本的简短示例:

Child

nums = raw_input()
print sum((int(n) for n in nums.split()))

Parent

import subprocess

p = subprocess.Popen(['python', 'test.py'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
out, err = p.communicate('3 4 5')
print 'From other process: ' + out

Output

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

Python:手动输入运行shell脚本 的相关文章

  • 关于使用Python启动SSH隧道的问题

    我在从用 Python 编写的 HTTP RPC 服务器启动 SSH 隧道时遇到了麻烦 基于Python的BaseHTTPServer 有一个用Python编写的简单的HTTP RPC服务器 作为其中一项服务的一部分 我想启动从 RPC 服
  • grep 跨文件的最后 n 个匹配

    我正在使用 grep 提取一组文件中的行 grep 一些字符串 log 是否可以将每个文件的最大匹配数限制为每个文件的最后 n 个匹配项 好吧 我认为 grep 不支持限制从文件末尾开始的 N 个匹配 所以这就是你必须做的 ls log w
  • 如何将经度和纬度转换为国家或城市?

    我需要将经度和纬度坐标转换为国家或城市 python中有这样的例子吗 提前致谢 我使用谷歌的API from urllib2 import urlopen import json def getplace lat lon url http
  • 使用 GeoDjango 在坐标系之间进行转换

    我正在尝试将坐标信息添加到我的数据库中 添加django contrib gis支持我的应用程序 我正在写一个south数据迁移 从数据库中获取地址 并向 Google 询问坐标 到目前为止 我认为我最好的选择是使用geopy为了这 接下来
  • 垂直线 axvline 在 matplotlib 的 loglog 图中绘制位于错误位置的线

    我在使用 axvline 在 matplotlib 的 loglog 图中绘制垂直线时遇到问题 第一个问题是垂直线没有出现在正确的位置 第二个问题 可能相关的是 当我放大或平移绘图时 垂直线只是保持在原位 并且没有通过平移 滑动绘图 或放大
  • 导出多个 LD_LIBRARY_PATH 的正确方法

    对于linux的使用 我是一个新手 根据有关我的项目的指南 我必须多次导出 LD LIBRARY PATH 并且我不确定是否不覆盖它们 Cupti Tensorflow CUDAit export LD LIBRARY PATH LD LI
  • 代理阻止网络套接字?如何绕行

    我有一个用 Python 编写的正在运行的 websocket 服务器 来自https github com opiate SimpleWebSocketServer https github com opiate SimpleWebSoc
  • 如何通过 Python socket.send() 发送字符串以外的任何内容

    我对 Python 编程非常陌生 但出于必要 我必须快速地将一些东西组合在一起 我正在尝试通过 UDP 发送一些数据 除了当我执行 socket send 时 我必须以字符串形式输入数据之外 一切都正常 这是我的程序 这样你就可以看到我在做
  • Python 3.x 中的 PIL ImageTk 等效项

    我正在使用 Tkinter 开发一个应用程序 它使用以下数据库png图标的图像文件 为了在应用程序中使用所述图像 我使用 PIL 打开它们Image open 运行它通过ImageTk PhotoImage函数 然后将其传递给小部件构造函数
  • 将 JSON 字符串传递给 Django 模板

    我一直在用头撞墙 试图找出为什么我无法将从 Django 模型生成的 JSON 字符串传递到模板的 javascript 静态文件中 事实证明 问题不在模型级别 使用serializers serialize 在脚本本身中放入相同的字符串将
  • Python/Flask:应用程序在关闭后正在运行

    我正在开发一个简单的 Flask Web 应用程序 我使用 Eclipse Pydev 当我开发该应用程序时 由于代码更改 我必须经常重新启动该应用程序 这就是问题所在 当我运行该应用程序时 我可以在本地主机上看到该框架 这很好 但是当我想
  • 超时时杀死或终止子进程?

    我想尽可能快地重复执行子进程 然而 有时这个过程会花费太长的时间 所以我想杀死它 我使用 signal signal 如下所示 ppid pipeexe pid signal signal signal SIGALRM stop handl
  • 从文档字符串生成 sphinx 文档不起作用

    我有一个具有以下结构的项目 我想保留 my project build here is where sphinx should dump into requirements txt make bat Makefile more config
  • 将 ASCII 字符转换为“”unicode 表示法的脚本

    我正在对 Linux 区域设置文件进行一些更改 usr share i18n locales like pt BR 并且需要格式化字符串 例如 d m Y H M 必须以 Unicode 指定 其中每个 在本例中为 ASCII 字符表示为
  • if/else 在 while 循环内正确缩进[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我开始学习 Python 编程大约几周了 我遇到了一些麻烦 下面的代码是一个小程序 用于检查列表中是否有偶数 如果找到第一个偶数
  • 通过子类化 `io.TextIOWrapper` 来子类化文件 - 但它的构造函数有什么签名?

    我正在尝试子类化io TextIOWrapper下列的这个帖子 https stackoverflow com a 23796737 974555 虽然我的目标不同 以此开始 注意 动机 https stackoverflow com a
  • 如何在 Python 中解析损坏的 XML?

    我无法影响的服务器发送的 XML 非常损坏 具体来说 Unicode WHITE STAR 将被编码为 UTF 8 E2 98 86 然后使用 Latin 1 转换为 HTML 实体表 我得到的是 acirc 98 86 9 个字节 位于声
  • Elastic Beanstalk 上的 Django + MySQL - 查询 MySQL 时出错

    当我在 Elastic beanstalk 上托管的 Django 应用程序上查询 MySQL 时 出现错误 错误说 admin login 处出现操作错误 1045 用户 adminDB 172 30 23 5 的访问被拒绝 使用密码 Y
  • 提供节点名或服务名,或未知

    我收到这个 Python 错误 File Library Frameworks Python framework Versions 2 7 lib python2 7 urllib2 py line 1184 in do open rais
  • 获取长度为 n 的所有(n-选择-k)组合

    我怎样才能获得长度的所有组合 按顺序 n从数字列表中 例如 给定列表 1 2 3 4 并设置n 3 我怎样才能得到这些结果 1 2 3 1 2 4 1 3 4 2 3 4 For combinations of all possible l

随机推荐

  • Highcharts - 多个 Y 轴堆叠图表

    我正在创建一个带有两个 Y 轴的图表 距离和持续时间 每个 Y 轴将有多个系列 跑步 自行车 游泳等 堆叠在一起 持续时间是堆积面积或面积样条线 距离是堆积柱形图 这是图表的 jsfiddle http jsfiddle net baber
  • 使用不等式表达式进行内连接

    背景 该问题不是必需的 但阅读可能有用 具有重复键的 data table 上的滚动联接 https stackoverflow com q 32007115 4002530 连接多个条件时的奇怪行为 https stackoverflow
  • PDF - 删除白边

    我想知道如何从 PDF 文件中删除白边距 就像 Adob e Acrobat X Pro 一样 据我所知 它并不适用于每个 PDF 文件 我猜想做到这一点的方法是获取文本边距 然后裁剪掉该边距 PyPdf 是首选 iText 根据以下代码查
  • 为嵌入式系统编写常量参数的最佳实践

    这是一个案例C 中的 static const 与 define https stackoverflow com questions 1674032 static const vs define in c对于嵌入式系统 在具有 传递 代码和
  • 如何在 rake 任务中渲染 Rabl 视图?

    我正在尝试在 Rails 3 2 rake 任务中将 Rabl 视图渲染为字符串 我将其渲染为字符串 以便通过 Pusher 从后台任务发送一些 JSON 我已经从 rake 任务答案中查看了各种 render to string 但它们似
  • Python 使用 Pandas 读取 Google 电子表格

    我在 Google 表格中有文件 我想将其读入 Pandas Dataframe 但给了我一个错误 我不知道它是什么 这是代码 import pandas as pd sheet id 1HUbEhsYnLxJP1IisFcSKtHTYlF
  • Chrome 不会在身份验证处理后重定向回 URL

    至少几年来 我一直在我的 MVC 解决方案中使用与此类似的代码 Authorize public class HomeController Controller HttpGet public ActionResult Index 然后在我的
  • 从列表中形成随机对(有点......)

    跳到最后一次编辑 我有一个清单Person对象 我需要将它们随机配对randomize pairs函数 每个Person对象有一个属性target他们与谁配对 我的限制是没有人可以与自己配对 废话 并且他们不应该与同一个人配对两次 我通过制
  • RSS 和 ATOM 如何通知客户端有关更新的信息?长轮询还是轮询还是其他什么?

    我读到 RSS 和 ATOM 是基于 HTTP 的 使用 XML 格式 那么 如果 HTTP 不支持连接 RSS 或 Atom 阅读器如何获知内容更新呢 他们需要定期轮询服务器吗 我有兴趣在实时网络应用程序中使用它 但我听说 轮询无法扩展
  • 为什么这个 get_index 实现在 VS2017 上失败?

    巴里给了我们这华丽的get index对于变体 https stackoverflow com a 52303687 560648 template
  • 远程编程

    我在 Windows 机器上进行开发工作 但在远程 Linux 机器上进行编译 我目前所做的是在 Windows 上启动 X 服务器 通过 ssh 进入 Linux 机器 然后进行远程开发 我想做的是在 Windows 计算机上编辑源代码
  • 反应输入焦点事件以显示其他组件

    我读过一些关于此的教程 他们告诉我应该使用 ref 来做到这一点 但它非常一般 这是我的问题 基本上在Header组件包括NavBar SearchBar and ResultSearch成分 const Header gt return
  • JSON 对象与窗口变量,用于使用 ReactJS 传递服务器端渲染的初始状态

    在使用 Reactjs 的同构应用程序中 您需要将服务器上呈现的相同初始状态传递给客户端 然后客户端将通过事件绑定等 补充 应用程序 我见过两种传递初始状态的方法 为窗口设置全局变量 或者将其作为 JSON 对象传递 两者都可以从应用程序中
  • Drupal 5:自定义内容类型中的 CCK 字段

    我有通过 NodeAPI 挂钩实现自定义内容类型的模块 hook insert hook updateETC 我想将 CCK 字段添加到此内容类型 并通过 hook nodeapi 调用 如创建或更新 填充它 以在视图中显示内容节点 问题是
  • 使用 iOS6 社交框架将视频上传到 Facebook

    我想将视频文件发布到 Facebook 之前我使用过Facebook iOS SDK3 0 它可以工作 然而 对于iOS6 Social Framework 存在问题 block ACAccount facebookAccount ACAc
  • 强制布局(),请求布局()

    我对android文档的阅读发现了方法forceLayout 用于在下一个布局请求时生成布局显示 和requestLayout 应该立即发布布局请求 但我无法让它们表现出来正如广告所言 特别是 如果我在 Thread Sleep 之前设置一
  • Firebase 允许用户使用密钥进行访问

    我想通过电子邮件向用户发送一个提交反馈的链接 该链接具有每个用户唯一的访问密钥 如果访问密钥有效 用户应该能够提交 这在 Firebase 上怎么可能 最简单的方法是 为每个用户生成密钥 已创建一个 可能为空 文档 并将密钥作为文档 ID
  • Django Rest Framework:在 ViewSet 中注册多个序列化器

    我正在尝试创建一个自定义 API 不使用模型 但它没有在架构中显示请求定义 因此 没有以 swagger 的方式显示它 我当前的代码是 views py class InfoViewSet viewsets ViewSet list rou
  • 如何修复 InnoDB 表?

    昨晚我们的 Solaris MySQL 数据库引擎 显然 执行得很差 至少有一些 InnoDB 表已损坏 事务日志中出现时间戳无序错误 以及有关索引损坏的特定错误 我们知道可用于 MyISAM 表修复的工具 但找不到任何适用于 InnoDB
  • Python:手动输入运行shell脚本

    例如 shell 脚本在提示符处获取一个整数并返回它 Enter an integer gt 3 3 我在用着subprocess check call myScript 运行 shell 脚本 我怎样才能自动发送 3 如上例所示 到目前为