Lancer commande SUDO avec Python 3

Reepper Messages postés 1 Statut Membre -  
quent217 Messages postés 424 Statut Membre -
Bonjour,

j'ai cherché un sur les forum Anglais des solution pour lancer des commande sudo sous py3.
J'ai pas eu de résultat très concluant :/

voilà ce que j'ai trouvé:

la commande que je veux exécuter:

command = 'usermod -a -G dialout '+User


avec subprocess:

subprocess.Popen('sudo ' , shell=True,stdout=subprocess.PIPE)
subprocess.Popen(sudoPassword , shell=True,stdout=subprocess.PIPE)
proc = subprocess.Popen(command , shell=True,stdout=subprocess.PIPE)
list_of_byte_strings = proc.stdout.readlines()


avec os:

os.popen("sudo %s"%(command), 'w').write('sudoPassword')


avec l'app xterm:

os.system("xterm -c \"sudo usermod -a -G dialout [user]"")


Je suis un amateur encore mais je me défend plutôt bien.

Pour ceux a qui ça intéresse, je fais un programme en python pour mon projet de BTS, créer un interface de télémesure sous py3 et je voulais créer un bouton pour lancer la commande usemod pour accéder au port série.

Configuration: Linux Mint 18.3 / Firefox 64.0

1 réponse

quent217 Messages postés 424 Statut Membre 347
 
Bonjour,
pour que sudo utilise l'entrée standard, il faut utiliser l'option -S
echo "password" | sudo -S commande
0