python可以写挂吗_打开一个用Python写的管道是挂着的

我有以下示例代码:#! /usr/bin/python2.7

import os

import errno

FIFO = 'mypipe'

try:

os.mkfifo(FIFO)

except OSError as oe:

if oe.errno != errno.EEXIST:

raise

with open(FIFO) as fifo:

test=fifo.read()

print("FIFO opened")

while True:

print "reading fifo"

data = fifo.read()

print "python read"

if len(data) == 0:

print("Writer closed")

break

print "about to open pipe for writing"

otherpipe = open('mypipereader', 'r+')

otherpipe.write('hello back!')

这个很好用。事实上,当回送跟踪到管道中时,它确实做了我想要它做的事情,但是由于某种原因,当我试图打开管道,以便在另一个程序中编写时,比如。。。。在

THEPIPE = open('mypipe', 'w')THEPIPE.write("hello!")

它继续挂着!有人曾经告诉我,这和内核在读之前不能打开写管道有关。。。我有什么办法可以避开这个问题吗?在

提前谢谢你!在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值