Пример взаимодействия подпроцесса Python3 - PullRequest
8 голосов
/ 28 декабря 2011

Я новичок в подпроцессинге.

Мне просто нужен действительно простой win32-пример метода connect () между parent.py и child.py .Строка, отправленная из parent.py в child.py, измененная child.py и отправленная обратно в parent.py для print () из parent.py.

Я публикую это, потому что примеры, которые я нашел, заканчиваются тем, что они не win32 или не используют ребенка, что просто смущает меня.

Спасибо за вашу помощь.

1 Ответ

18 голосов
/ 28 декабря 2011

Вот простой пример в соответствии с вашими требованиями. Этот пример - Python 3.x (для 2.x требуются небольшие изменения).

parent.py

import subprocess
import sys

s = "test"
p = subprocess.Popen([sys.executable, "child.py"],
                     stdin=subprocess.PIPE,
                     stdout=subprocess.PIPE)
out, _ = p.communicate(s.encode())
print(out.decode())

child.py

s = input()
s = s.upper()
print(s)

Я написал и протестировал это на Mac OS X. Здесь нет кода для конкретной платформы, поэтому нет причины, по которой он не будет работать и на Win32.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...