Ну, ваш буквальный код не будет работать. Вы передаете строку со значением PathToCygwin, и это ничего не даст. Я предполагаю, что вы передаете лучшую строку, чем эта, но вы не показали нам, что именно.
Я думаю, что проблема в вашем PathToCygwin. Если вы не получите правильный путь, это не сработает.
Вот мой тестовый код. Я запустил это в версии Python для Cygwin, поэтому я использовал путь в стиле Cygwin: вместо r"C:\cygwin\bin\bash.exe"
я использовал путь /cygdrive/c
:
>>> cpath = "/cygdrive/c/cygwin/bin/bash.exe"
>>> cygwin = subprocess.Popen(cpath,shell=False,stdin=subprocess.PIPE,stdout=su
bprocess.PIPE)
>>> cygwin.stdin.write("ssh")
>>>
Опять же, я запустил это в версии Python, скомпилированной Cygwin. Если вы используете собственную версию Python для Windows, вам, вероятно, потребуется использовать путь C:
.
Если у вас все еще есть проблемы, не могли бы вы сообщить нам, какую именно версию Python вы используете, и показать нам фактический код пути, который вы используете?
person
steveha
schedule
23.11.2009