Запуск файла .bat в python, который требует ввода данных пользователем - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь получить вывод из файла .bat в скрипте Python, код работает нормально, если я жестко закодирую значение переменной в файле .bat, но я хочу, чтобы это значение было динамическим. Это код, который я использую для запуска внешнего файла.

command = 'C:/this/this.bat'
p = subprocess.Popen(command, universal_newlines=True,
shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)

text = p.stdout.read()
retcode = p.wait()

file this.bat требует ввода пользователя, но я не уверен, как предоставить его внутри скрипта Python, например из переменной. Спасибо за помощь.

1 Ответ

0 голосов
/ 07 января 2019

Я имел дело с чем-то похожим. То, как я решил это, было запросить у пользователя значения в python. Затем с помощью подпроцесса передайте эти значения в файл .bat.

command = [shutil.which('C:/this/this.bat') ,sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5]]
subprocess.Popen(command).wait()

Предполагается, что вы можете изменить файл .bat так, чтобы он принимал параметры вместо приглашений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...