Я пытаюсь создать подпроцесс с Popen. Вот мой код на первый:Python - используя список в Popen as command
hostname = 'host'
servername = 'server'
commandargs = ['/usr/sbin/mminfo',' -o n',' -s',servername,' -q "client=\'',hostname,'\',savetime>=last day"',' -r "client,name"']
process = subprocess.Popen(commandargs, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
Проблема заключается в том, что введённая команда потерпела неудачу с сообщением, что контакт сервер недоступен. Кажется, что переменное имя хоста не используется ... Попытка того же со строкой, а не списком, как команда в Popen (с Shell = True), все работает нормально.
Кто-нибудь знает, что не так с кодом?
С уважением. Stefan
Не указывайте имя хоста, нет необходимости. Допустимые имена хостов не имеют никаких символов, которые могут расширяться до чего-то странного, и у них нет пробелов. Другая вещь, которую вы должны сделать, состоит в том, чтобы каждый объект в команде разделялся, не делал «-o n», а вместо этого «-o», «n» и т. Д. – synthesizerpatel
имя хоста = 'host' Вы имеете в виду это^? Это мой тест на заполнение переменной тестовым именем хоста. – StefanS