У меня есть программа на Python, которая принимает входные данные из стандартного ввода. Теперь мне нужно написать другую программу и вызвать ее как подпроцесс, чтобы каждый раз, когда я запускаю этот подпроцесс, он должен читать данные из другого текстового файла и записывать их в стандартный ввод, а затем моя основная программа считывает их из стандартного ввода и использует.
from subprocess import Popen, PIPE, STDOUT
import os
import sys
def read():
p = Popen(['python', 'in.py'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
out = p.communicate()
print out[0]
def main():
read()
if __name__ == "__main__":
main()
import sys,os
import subprocess
def main():
f = open("ad.txt","r")
for line in f:
print line
if __name__ == "__main__":
main()
В основном моя проблема здесь в том, что in.py
считывает весь файл и печатает в STDOUT, что мне не нужно, и скорее он должен один раз сообщить одному персонажу. Если ad.txt
выглядит так:
asdfgh
Я должен получить «a»
, затем «s»
, затем «d»
, затем "f"
.. так далее .. один за другим символом каждый раз, когда я вызываю функцию чтения, должен быть прочитан следующий символ из файла. В том-то и дело! Уф !! Пожалуйста, помогите мне, и у меня чертовски много работы! Заранее благодарим: D