Paramiko SFTPClient aparentemente no tiene un método exists
. Esta es mi implementación actual:Compruebe si existe una ruta en un host remoto utilizando 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
¿Hay una mejor manera de hacerlo? Comprobar la subcadena en los mensajes de excepción es bastante feo y puede no ser confiable.
Esta es probablemente la forma correcta de hacerlo debido a stat() de forma no el archivo existente en un servidor SFTP a través de Paramiko elevará esta excepción particular con el código de error errno.ENOENT: https://github.com/paramiko/paramiko/blob/master/paramiko/sftp_client.py#L722 – Devy