如何在Python中创建和使用命名管道?

FIFO是可以像常规文件一样进行访问的管道。FIFO一直存在直到被删除(例如使用os.unlink())。通常,FIFO被用作“客户端”和“服务器”类型的进程之间的集合点:服务器打开FIFO进行读取,而客户端打开FIFO进行写入。请注意,mkfifo()这不会打开FIFO,而只是创建了集合点。要创建FIFO(命名管道)并在Python中使用它,可以使用os.mkfifo()。但是mkfifo失败,如果文件已经存在,则文件存在异常。为了避免这种情况,可以将其放在try-except块中。

例如

import os, sys
# Path to be created
path = "/tmp/hourly"
try:
    os.mkfifo(path)
except OSError, e:
    print "Failed to create FIFO: %s" % e
else:
    fifo = open(path, 'w')
print "Path is created"

当您运行该程序时,可以预期将创建管道。