栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

适用于Windows的python os.mkfifo()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

适用于Windows的python os.mkfifo()

遵循以上两个答案,我不小心碰到了答案。os.pipe()完成了工作。谢谢您的回答。

我正在发布完整的代码,以防其他人正在寻找这个:

import subprocessfrom threading import Threadimport timeimport sysimport loggingimport tempfileimport osimport game_playing_moduleclass Pusher(Thread):    def __init__(self, source, dest, proc, name):        Thread.__init__(self)        self.source = source        self.dest = dest        self.name = name        self.proc = proc    def run(self):        while (self.proc.poll()==None) and   (not self.source.closed) and (not self.dest.closed): line = self.source.readline() logging.info('%s: %s' % (self.name, line[:-1])) self.dest.write(line) self.dest.flush()def get_reader_writer():    fd_read, fd_write = os.pipe()    return os.fdopen(fd_read, 'r'), os.fdopen(fd_write, 'w')def connect(exe):    logging.basicConfig(level=logging.DEBUG,  format='%(message)s',  filename=LOG_FILE_NAME,  filemode='w')    program_to_grader_reader, program_to_grader_writer =        get_reader_writer()    grader_to_program_reader, grader_to_program_writer =        get_reader_writer()    p1 = subprocess.Popen(exe, shell=False, stdin=subprocess.PIPE, stdout=subprocess.PIPE)    old_stdin = sys.stdin    old_stdout = sys.stdout    sys.stdin = program_to_grader_reader    sys.stdout = grader_to_program_writer    push1 = Pusher(p1.stdout, program_to_grader_writer, p1, '1')    push2 = Pusher(grader_to_program_reader, p1.stdin, p1, '2')    push1.start()    push2.start()    game_playing_module.play()    sys.stdin = old_stdin    sys.stdout = old_stdout    fil = file(LOG_FILE, 'r')    data = fil.read()    fil.close()    return dataif __name__=='__main__':    if len(sys.argv) != 2:        print 'Usage: connect.py exe'        print sys.argv        exit()    print sys.argv    print connect(sys.argv[1])


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647872.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号