Python不打印输出

2024-01-25

我正在学习将 electro js 与 python 一起使用,并且我正在使用蟒蛇壳 https://www.npmjs.com/package/python-shell所以我有以下简单的Python脚本:

import sys, json

# simple JSON echo script
for line in sys.stdin:
    print(json.dumps(json.loads(line)))

在我的 main.js 中:

let {PythonShell} = require('python-shell')
let pyshell = new PythonShell('/home/bassel/electron_app/pyapp/name.py', {mode : 'json'});
pyshell.send({name:"mark"})


pyshell.on('message', function (message) {
    // received a message sent from the Python script (a simple "print" statement)
    console.log("hi");
});

but the hi没有打印出来,有什么问题吗?


This problem can also occur when trying to suppress the newline from the end of print output. See Why doesn't print output show up immediately in the terminal when there is no newline at the end? https://stackoverflow.com/questions/25897335/.


通常对输出进行缓冲以保留系统资源。这意味着在这种情况下,系统会保留 Python 输出,直到有足够的输出可以一起释放。

为了克服这个问题,您可以显式“刷新”输出:

import sys, json

# simple JSON echo script
for line in sys.stdin:
    print(json.dumps(json.loads(line)))
    sys.stdout.flush()                      # <--- added line to flush output

如果您使用 Python 3.3 或更高版本,您也可以使用:

import sys, json

# simple JSON echo script
for line in sys.stdin:
    print(json.dumps(json.loads(line)), flush=True)   # <--- added keyword
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python不打印输出 的相关文章

随机推荐

  • 如何在 MVC3 中托管 Web 服务?

    如何在 mvc3 中使用 Web 服务 我应该在哪里包含网络服务 对此完全陌生 请帮忙 In latest versions of VS you can click here 在打开的窗口中 您将能够输入服务地址并进行所需的配置 您可以将服
  • Github API 返回发布数组的空资产

    我正在尝试通过 gitHub api 跟踪 gitHub 版本的 download count 我不需要太多 我只是想看看它是什么 我正在尝试获取以下信息 http developer github com v3 repos release
  • 以正确的顺序从 Web 服务迭代 Json 数据

    我收到来自网络服务的响应 数据位于JSON form JSONObject event 15 00 type 1 status null appointment id null 16 00 type 1 status null appoin
  • 检查一个数组的所有元素是否都在另一个数组中

    我有这两个数组 A 1 2 3 4 5 6 7 8 9 0 And B 4 5 6 7 有没有办法检查 B 是否是 A 中具有相同项目顺序的子列表 issubset http docs python org 2 library stdtyp
  • 如何中止/取消 TPL 任务?

    在一个线程中 我创建了一些System Threading Task并开始每项任务 当我做一个 Abort 杀死线程 任务不会中止 我怎样才能传输 Abort 我的任务 你不能 任务使用线程池中的后台线程 另外 不建议使用 Abort 方法
  • 将函数应用于具有分组变量的多维数组

    我有一个我认为很简单的问题 但我一直无法找到合适的答案 我有一个多维数组v x y z 我想沿数组应用一个函数z使用分组变量 组 的维度 这是一个例子 在 R 中 v lt 1 81 dim v lt c 3 3 9 group lt c
  • 化学式解析器 C++

    I am currently working on a program that can parse a chemical formula and return molecular weight and percent compositio
  • 使用 SBT 构建的 scala 无法导入 java 类?

    我在使用 sbt 构建一个简单的 Scala 类时遇到了一些奇怪的问题 我从互联网上复制的代码足以启动码头服务器 object JettyEmbedded def main args Array String val server new
  • Java:枚举值()和valueOf(字符串)

    javac为什么要加上values and valueOf String 正在定义的枚举类型的方法 将它们添加到 Enum 类本身不是更好吗 我的意思是 如果我有一些枚举 例如 enum FooEnum ONE TWO javac 添加va
  • 调试模式下“运行时检查失败 #2 - 变量‘filePath’周围的堆栈已损坏”

    我在使用winsock2时遇到这个函数的问题 当程序将此函数置于调试模式时 我收到 2 条语句 仅在退出此函数期间 运行时检查失败 2 变量 filePath 周围的堆栈已损坏 运行时检查失败 2 变量 recBuf 周围的堆栈已损坏 我正
  • 4 个核心的 8 个逻辑线程并行运行速度最多可以提高 4 倍?

    我正在对软件进行基准测试 该软件在 Intel 2670QM 上的执行速度比使用全部 8 个 逻辑 线程的串行版本快 4 倍 我想要一些社区反馈我对基准测试结果的看法s 当我在 4 个核心上使用 4 个线程时 速度提高了 4 倍 整个算法是
  • 不可复制类型的复制列表初始化

    12 6 1 显式初始化 struct complex complex complex double complex double double complex sqrt complex complex complex g 1 2 cons
  • 如何用react-native做一个多页面应用程序?

    The tutorial http facebook github io react native docs tutorial html contentfor react native 向我们展示了如何通过创建一个具有以下内容的 React
  • 如何从本地文件导入环境变量到Django

    我正在准备我的第一个专业 Django 项目的生产 但我在保护应用程序的环境变量方面遇到了问题 到目前为止 我已经成功创建了一个本地文件来存储我的电脑上的所有变量 env variables py import os db user os
  • for 循环被忽略(优化?)

    我正在使用 for while 循环在我的代码中实现延迟 延迟的持续时间在这里并不重要 尽管它足够大而引人注目 这是代码片段 uint32 t i Do something useful for i 0 i lt 50000000U i D
  • Swift 中的 C 联合类型?

    如何在 Swift 中声明和使用 C 联合类型 I tried var value union var output CLongLong var input CInt 但它不起作用 更新 我想使用 union 来分割8 bytes numb
  • awscli 入门错误

    我已经在 1 月 2 日在 AWS 官方论坛上询问过这个问题 但没有任何回复 因此 我再次将其发布到此处 以便修复错误 我按照本页所述安装了 awsclihttp docs amazonwebservices com cli latest
  • 将图例添加到 Seaborn 点图

    我正在使用以下方法将多个数据帧绘制为点图seaborn 我还在绘制所有数据框在同一轴上 我如何在情节中添加图例 我的代码获取每个数据帧并将其一个又一个地绘制在同一个图上 每个数据框都有相同的列 date count 2017 01 01 3
  • Vim 中的“查找下一个”

    在 Vim 中向前搜索cake 我会输入 cake 但是当我按回车键时 光标跳到第一个匹配项 有没有类似于 查找下一个 的 Vim 命令 It is n for next and N for previous 如果您使用反向搜索 例如 ca
  • Python不打印输出

    我正在学习将 electro js 与 python 一起使用 并且我正在使用蟒蛇壳 https www npmjs com package python shell所以我有以下简单的Python脚本 import sys json sim