Thông số SFTPClient của Paramiko dường như không có phương thức exists
. Đây là triển khai hiện tại của tôi:Kiểm tra xem đường dẫn có tồn tại trên máy chủ từ xa hay không bằng cách sử dụng 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
Có cách nào tốt hơn để thực hiện việc này không? Việc kiểm tra chuỗi con trong các thông báo Ngoại lệ là khá xấu và có thể không đáng tin cậy.
Đây có lẽ là cách đúng đắn để làm vì stat() trên một tổ chức phi tệp hiện có trên máy chủ SFTP qua Paramiko sẽ tăng ngoại lệ cụ thể này với mã lỗi errno.ENOENT: https://github.com/paramiko/paramiko/blob/master/paramiko/sftp_client.py#L722 – Devy