Enchantner
Июнь 5, 2009 16:02:28
Как на питоне разрешить ситуацию, когда после ввода команды в shell спрашивается пароль? Это может быть, в частности, sudo или что-то в этом роде. Shell-команды я выполняю в основном с помощью os.popen(). Как передать пароль в shell программно?
Enchantner
Июнь 5, 2009 18:57:01
Пытаюсь так:
from subprocess import PIPE, Popen
proc = Popen(command, shell=True, stdin=PIPE, stdout=PIPE)
proc.stdin.write(mypass + '\n')
Выдает, что неверный пароль.
slivlen
Июнь 8, 2009 12:08:14
Советую посмотреть еще в сторону pexpect(
http://pexpect.sourceforge.net/pexpect.html).
sypper-pit
Июнь 8, 2009 19:42:12
описывай что у тебя было и кк ты решил…
Enchantner
Июнь 8, 2009 22:55:34
sypper-pitfrom subprocess import Popen, PIPE
proc = Popen(command, shell=True, cwd=self.fullpath, stdin=PIPE, stdout=PIPE)
proc.communicate(mypass)
proc.wait()
А вообще исходники проекта тут, можете глянуть:
http://pastebin.mozilla-russia.org/99375