La méthode SFTPClient de Paramiko n'a apparemment pas de méthode exists
. Ceci est ma mise en œuvre actuelle:Vérifier si un chemin existe sur un hôte distant à l'aide de paramiko
def rexists(sftp, path):
"""os.path.exists for paramiko's SCP object
"""
try:
sftp.stat(path)
except IOError, e:
if 'No such file' in str(e):
return False
raise
else:
return True
Y a-t-il une meilleure façon de le faire? La vérification de la sous-chaîne dans les messages d'exception est très laide et peut ne pas être fiable.
Ceci est probablement la bonne façon de faire parce que stat() sur une base non fichier existant sur un serveur SFTP via Paramiko soulèvera cette exception particulière avec le code d'erreur errno.ENOENT: https://github.com/paramiko/paramiko/blob/master/paramiko/sftp_client.py#L722 – Devy