Lancer commande SUDO avec Python 3

Reepper Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
quent217 Messages postés 420 Date d'inscription   Statut Membre Dernière intervention   -
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 420 Date d'inscription   Statut Membre Dernière intervention   347
 
Bonjour,
pour que sudo utilise l'entrée standard, il faut utiliser l'option -S
echo "password" | sudo -S commande
0