Я посмотрел много ответов на stdin.write()
вопросов, и ни один не помог. Я пытаюсь, чтобы мой код изменил пароль для учетной записи через cmd, но для этого требуется, чтобы программа дважды вводила пароль после запуска mt =subprocess.Popen(["net","users", username, "*"], stdout = subprocess.PIPE,stdin = subprocess.PIPE, shell=True)
.
pswd = 'password'
pswd = pswd.encode() + b'\n'
mt =subprocess.Popen(["net","users", username, "*"], stdout =
subprocess.PIPE,stdin = subprocess.PIPE, shell=True)
mt.stdin.flush()
mt.stdin.write(pswd)
mt.stdin.flush()
mt.stdin.write(pswd)
(out, er) = mt.communicate()
st = str(out)
print(st)
Это не вся программа, но здесь команды stdin.write()
не будут работать. Я также попробовал mt.communicate(pswd)
, но это тоже не работает. Выход:
b'Type a password for the user: Retype the password to confirm: \r\n\r\n'
>>>
В основном ... Мне просто нужен способ передать строку в cmd.