Почему это работает:Почему кошка работает и файл открыт?
diff = subprocess.Popen(['cat','foo.txt'], stdout=subprocess.PIPE)
pr = subprocess.Popen(sublime, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, stdin=diff.stdout)
pr.wait()
if pr.returncode == 0:
msg = pr.stdout.read()
print "message : %s" % msg
er = pr.stderr.read()
print er
Но это не делает:
diff = subprocess.Popen('open("foo.txt","r")', stdout=subprocess.PIPE)
Я пытаюсь запустить возвышенный из командной строки терминала и передать текст, введенный в возвышенной переменной.
Что беспокоит меня, я могу добиться с первого, но он не будет работать на окнах!
Popen специально для открытия исполняемых файлов. Если вы хотите втирать объекты python в подпроцесс, возможно, попробуйте многопроцессорность. – Max