两个子流程的中介者subprocess.PIPE什么时候关闭?

时间:2019-05-17 14:48:22

标签: python python-3.x subprocess

我将使用子进程来处理Linux中的命令。 但是我不知道这个<Tela>: Screen: name: 'Principal' BoxLayout: id: box_principal orientation: 'vertical' padding: 50 spacing: 100 Button: text: 'Chamada' on_release: root.ids.chamada.chamada_func() root.current = 'Chamada' Button: text: 'Nota' on_release: root.current = 'Nota' Button: text: 'Sair' Chamada: id: chamada <Chamada>: name: 'Chamada' BoxLayout: id: box_chamada orientation: 'vertical' GridLayout: id: grid Button: text: 'ok' size_hint: 1, 0.05 on_release: root.chamada_func() 何时会关闭。因为这可能会影响应写入p1.stdout文件的数据完整性。

test

我知道将所有数据写入p1 = subprocess.Popen('cat ', stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True, universal_newlines=True) p2 = subprocess.Popen('cat ', stdin=p1.stdout, stdout=open("test", 'w'), shell=True, universal_newlines=True) p1.stdin.write('asda'*100) p1.stdin.close() 后可以使用p1.communicate(),但是此函数也会关闭p1.stdin,并且我确定{{1} }将丢失部分数据。

0 个答案:

没有答案