J'ai besoin d'obtenir le nombre de fichiers sur le serveur distant via Python. J'ai utilisé le module paramiko et j'ai écrit le script ci-dessous. La commande linux lors de l'exécution dans le terminal me donne la sortie désirée alors que l'exécution de Python me donne la sortie comme [u'0 \ n ']. Toute aide est très appréciée.script python pour se connecter au serveur distant et compter le nombre de fichiers
#!/usr/local/bin/python
import paramiko
client=paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('hostname', username='username')
grepCommand="ssh [email protected] 'find /usr/local/somefolder1/somefolder2 -type f -exec ls {} \;'|wc -l"
stdin,stdout,stderr = client.exec_command(grepCommand)
data=stdout.readlines()
print data
client.close()
il vous donne un bon résultat mais juste pour unicode courir i dans les données; print (i.encode ('ascii', 'replace')) – MacHala
que la première partie de grepCommand est tout à fait fausse, vous êtes déjà connecté à l'hôte via paramiko il est donc inutile de se connecter via ssh une fois de plus – MacHala