Hi i am using python và cố gắng kết nối với sftp và muốn truy xuất tệp xml từ đó và cần đặt trong hệ thống cục bộ của tôi, bên dưới là mãCách liệt kê tất cả các thư mục và tệp trong thư mục sau khi kết nối qua sftp trong python
import paramiko
sftpURL = 'sftp.somewebsite.com'
sftpUser = 'user_name'
sftpPass = 'password'
ssh = paramiko.SSHClient()
# automatically add keys without requiring human intervention
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(sftpURL, username=sftpUser, password=sftpPass)
ftp = ssh.open_sftp()
files = ftp.listdir()
print files
kết nối ở đây thành công và bây giờ tôi muốn xem tất cả các thư mục và tất cả các tệp và cần nhập tệp xml từ đó.
Cuối cùng, ý định của tôi là xem tất cả các thư mục và tệp sau khi kết nối với máy chủ sftp. Trong đoạn mã trên tôi đã sử dụng ftp.listdir()
qua đó tôi đã nhận ra như một số điều như dưới đây
['.bash_logout', '.bash_profile', '.bashrc', '.mozilla', 'testfile_248.xml']
Tôi muốn biết liệu đây là những file chỉ hiện tại?
Và lệnh tôi đã sử dụng ở trên cũng đúng để xem các thư mục?
lệnh để xem tất cả các thư mục và các tập tin
Dựa vào hành vi stringification của 'SFTPAttributes' là khủng khiếp, khủng khiếp hack. Tại sao bạn không làm điều đó đúng cách, và sử dụng 'stat.S_ISDIR (lstatout.st_mode)'? –
@FakeName Tôi đang cố gắng làm điều này và tôi không hiểu nhận xét của bạn. –
@PANDAStack - 'ftp.lstat (i)' trả về một thể hiện của lớp ['SFTPAttributes'] (https://github.com/paramiko/paramiko/blob/6978c7a0b8faa683b119de3a0c096be31ac4fdc9/paramiko/sftp_attr.py#L25). Cách câu trả lời này thực hiện điều này phụ thuộc vào cách thư viện đã chọn có '__repr__' của' SFTPAttributes' * look *, là giao diện được thiết kế ** hoàn toàn ** để gỡ lỗi lập trình và có thể không được kiểm tra hoặc bảo đảm là không đổi, ngay cả trên số phiên bản vá. –