Python3 retour de commande shell
Phil_1857 Messages postés 1872 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis sur python 3.8.10.
J'ai besoin de faire un retour de cette commande :
CMD = 'ssh-keygen -f "/home/laurent/.ssh/known_hosts" -R 192.168.1.56'
J'ai fait plusieurs essai impossible
CMD1 = ('ssh-keygen -f "/home/laurent/.ssh/known_hosts" -R 192.168.1.xx') #("ssh-keygen -f '"+str(e1)+".ssh/known_hosts' -R "+str(e2)) #% e1.get(), e2.get() RETOUR_CMD1 = os.system(str(CMD1)) print ("RETOUR_CMD1 : ",RETOUR_CMD1) print () CMD2 = ('ssh-keygen -f "/home/laurent/.ssh/known_hosts" -R 192.168.1.xx') #("ssh-keygen -f '"+str(e1)+".ssh/known_hosts' -R "+str(e2)) #% e1.get(), e2.get() RETOUR_CMD2 = os.popen(str(CMD2)) print ("RETOUR_CMD2 : ",RETOUR_CMD2) print () RETOUR_CMD4 = subprocess.Popen('/usr/bin/ssh-keygen -f', '"/home/laurent/.ssh/known_hosts"','192.168.1.xx').stdout.read() print ("RETOUR_CMD4 : ",RETOUR_CMD4) print ()
Les retours
Host 192.168.1.xx not found in /home/laurent/.ssh/known_hosts
RETOUR_CMD1 : 0
RETOUR_CMD2 : <os._wrap_close object at 0x7f35234181f0>
Host 192.168.1.xx not found in /home/laurent/.ssh/known_hosts
stdout:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.8/tkinter/__init__.py", line 1892, in __call__
return self.func(*args)
File "/home/laurent/Langages/python/3/PyMachines/pymachines-03.py", line 1141, in <lambda>
Button(Frame3, text='Valider', command=lambda x=e1: valider_fenetre_supprimer_la_cle_RSA_dune_adresse_ip(x, e2)).grid(row=5, column=2, sticky=W, pady=4)
File "/home/laurent/Langages/python/3/PyMachines/pymachines-03.py", line 1172, in valider_fenetre_supprimer_la_cle_RSA_dune_adresse_ip
RETOUR_CMD4 = subprocess.Popen('/usr/bin/ssh-keygen -f', '"/home/laurent/.ssh/known_hosts"','192.168.1.xx').stdout.read()
File "/usr/lib/python3.8/subprocess.py", line 757, in __init__
raise TypeError("bufsize must be an integer")
TypeError: bufsize must be an integer
Pouvez vous m'aider, qu'est-ce qui ne vas pas
Merci d'avance pour vos conseils et avis.
Linux / Firefox 109.0
- Python3 retour de commande shell
- Invite de commande - Guide
- Classic shell - Télécharger - Personnalisation
- Commande terminal mac - Guide
- Commande dism - Guide
- Retour à la ligne excel formule - Guide
3 réponses
bonjour,
quel résultat souhaites-tu obtenir?
Bonjour,
effectivement,
ret = os.system(cmd)
retourne un statut d'erreur, par contre avec os.popen, ca devrait marcher, essaie ça pour voir :
CMD = 'ssh-keygen -f "/home/laurent/.ssh/known_hosts" -R 192.168.1.56' ret = os.popen(CMD).read() print(ret)
Moi, par exemple, pour extraire le no de série de mon pc, je fais ça:
s_nb = os.popen('wmic bios get serialnumber').read()