python stdin和stdout_stdin似乎比stdout(python)慢得多.为什么?
我有两个需要相互通信的
python程序(一个是子进程).目前我通过stdin和stdout这样做.然而,写入子进程的标准似乎很慢.
a.py,一个采用任意行输入并打印时间的程序:
from time import time, sleep
from sys import stdout, stdin
while True:
stdin.readline()
stdout.write('%f\n' % time())
stdout.flush()
b.py,一个运行a.py并且花费多长时间才能写入程序的stdin并读取它的stdout的程序:
from time import time
from subprocess import PIPE, Popen
from threading import Thread
stdin_times = []
stdout_times = []
p = Popen(['python', 'a.py'], stdin=PIPE, stdout=PIPE)
for i in range(100000):
t1 = time()
p.stdin.write(b'\n')
p.stdin.flush()
t2 = float(p.stdout.readline().strip().decode())
t3 = time()
stdin_times.append(t2 - t1)
stdout_times.append(t3 - t2)
p.kill()
print('stdin (min/ave):', min(stdin_times), sum(stdin_times) / len(stdin_times))
print('stdout (min/ave):', min(stdout_times), sum(stdout_times) / len(stdout_times))
样品输出:
stdin (min/ave): 1.69277191162e-05 0.000138891274929
stdout (min/ave): 1.78813934326e-05 2.09228754044e-05
我在Ubuntu 10.10上使用Python 3.1.2.
为什么写入an.py的标签比从其stdout读取慢得多?
有没有可以让这两个程序更快地沟通?
python stdin和stdout_stdin似乎比stdout(python)慢得多.为什么?相关推荐
- python重复输入上面指令_stdin stdout python:如何重复使用同一输入文...
我对Python很陌生,对stdin stdout方法甚至更新.不过,我需要使我的脚本可用于UNIX命令,以便例如使用我的脚本一次处理2个输入文件. 该脚本与命令行参数完美配合: newlist = ...
- python stdin和stdout_无法使用Python写入和读取stdin / stdout
我在MacOS 10.7.4上使用Python 2.7.这是一个较长的脚本(不是我写的)的一部分,它基本上为PHP提供了一些配置选项,将它们写入PHP的stdin,然后从它的stdout中读取它们. ...
- python stdin什么意思_python中stdin是什么
python如何判断stdin里面是否有数据 解决方案: select,poll等监视标准输入文件句柄(0),一旦有I/O操作就打印数据 使用sys.stdin.isatty()函数 import s ...
- python从标准输入读取数据_在PYTHON中如何从标准输入读取内容stdin
Python有几种方法来读取标准输入的数据. 1.sys.stdin sys.stdin提供了read()和readline()函数,如果想按一行行来读取,可以考虑使用它:import sys lin ...
- python的快速入门-1.1、Python快速入门(0529)
学习来自马哥教育的视频,感谢马哥 编程语言: 用户: 问题空间 计算机:解决问题 解空间 抽象: 机器代码-->微码编程-->高级语言 (语言的高下级的是根据语言是否被人类容易理解或者更接 ...
- python自带的shell是什么-python中执行shell的两种方法总结
一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...
- python调用node_在node中执行python脚本
Node.js多进程基础 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发.这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能. 每个子进程总是带有三个流对象:c ...
- python隐藏启动台_如何在Python中启动后台进程?
如何在Python中启动后台进程? 我正在尝试将shell脚本移植到更易读的python版本. 原始shell脚本在后台使用"&"启动多个进程(实用程序,监视器等). 如何 ...
- python程序运行结果不停_关于python:在进程运行时不断打印Subprocess输出
要从我的python脚本启动程序,我使用以下方法: def execute(command): process = subprocess.Popen(command, shell=True, stdo ...
最新文章
- AI实验室•西安站 教你用人脸识别打造爆款应用
- 增加ActiveDirectory证书服务器有效期与续订步骤
- 网页制作中绝对路径和相对路径的区别
- 在Win2003、Win7、XP中配置IIS搭建ASP.NET Web网站或应用程序(1)
- 2阶节IIR算法C语言源码
- bzoj3527: [Zjoi2014]力 fft
- Leetcode每日一题:35.search-insert-position(搜索插入位置)
- oracle 密码忘记 找回密码
- gateway网关_公司要把网关Zuul换成Gateway,再难也得顶上
- cad迷你画图2020中文版
- 2008年国际十大财经新闻
- C#如何快速释放内存的大数组详解
- matlab中fic算法,基于MatLab的三种群Volterra模型数值求解.pdf
- android ipad 播放器,[AS3]专业级跨平台网页播放器支持PC、iPad、iPhone、Android系统...
- 【报告分享】2021年618全面复盘报告-魔镜市场情报(附下载)
- 多文件批量下载打包成.zip
- 带孩子看的100部BBC经典纪录片
- UTONMOS开启元宇宙数字化经济新纪元
- python 中文语音播报,用Python实现语音播报
- 计算机软件技术基础2002,2002同济大学计算机软件技术基础试卷
热门文章
- python三维模型_python三维模型
- qt自定义控件的样式
- san分布式共享文件系统_SAN网络存储共享软件全攻略剖析
- oracle昨日时间,。。今日,昨日,上周,本月,本年,按时间统计总金额
- php乱码调试,NotePad++ 调试PHP代码中文显示乱码
- case是java关键字吗_Java关键字
- 调用oracle常用方法,区分Oracle和SQL Server常用函数调用方法
- android 子module混淆_Android 多模块打包混淆填坑记
- jpa mysql存储过程_spring data jpa 如何调用mysql存储过程?
- linux下使用odbc连接mysql_Linux环境下通过ODBC访问MSSql Server