использование os.system в python для запуска программы с параметрами

Как получить python для запуска sudo openvpn –cd / etc / openvpn –config client.ovpn

Я делаю следующее в минуту без успеха

vpnfile2 = '/etc/init.d/openvpn' cfgFile = 'client.ovpn' os.system('sudo \"" + vpnFile2 + "\" --cd \"" + vpnpath + "\" --config \"" + cfgFile + "\"') 

3 Solutions collect form web for “использование os.system в python для запуска программы с параметрами”

использовать модуль subprocess

 import subprocess subprocess.call(['sudo', vpnFile2, '--cd', vpnpath, '--config', cfgFile]) 

Этот вопрос был опубликован некоторое время назад, но если кто-то сталкивается с этим (как и я), есть другой способ получить привилегии с помощью метода os.system.

Он будет работать, только если вы используете это в среде графического интерфейса. Вы можете просто называть его «gksu» или («kdesu» или «kdesudo»), это будет выглядеть так в сеансе gnome:

 import os vpnfile2 = '/etc/init.d/openvpn' cfgFile = 'client.ovpn' os.system('gksu \"" + vpnFile2 + "\" --cd \"" + vpnpath + "\" --config \"" + cfgFile + "\"') 

Запрос работает, но я не тестировал его для работы с вашим кодом.

Если есть какая-то причина, по которой вы хотите использовать os.system, вместо подпроцесса, я обычно os.system('''sudo bash -c "command to run"''') ее через bash, поэтому os.system('''sudo bash -c "command to run"''') (или sh или что угодно у вас есть). Во многих случаях он обрабатывает аргументы.

  • Facebook Python «ValueError: слишком много значений для распаковки»
  • Передача данных между страницами в функции redirect () в Google App Engine
  • Функция с зависимыми предустановленными аргументами
  • Ошибка Google App Engine и 404
  • Python: разделение строки на элементы и добавление их в список
  • оптимизированный для python режим
  • Передача себя в конструктор в python
  • Программирование учебников для людей с нулевым опытом
  • Как превратить список строк в сложные числа в python?
  • Получить родительскую функцию
  • Удаление уже напечатано в Python
  • Python - лучший язык программирования в мире.