Tôi muốn xóa tất cả các tệp trong thư mục đã cho trên máy chủ từ xa mà tôi đã kết nối với sử dụng paramiko. Mặc dù vậy, tôi không thể cung cấp tên tệp một cách rõ ràng, vì chúng sẽ khác nhau tùy thuộc vào phiên bản của tệp mà trước đây tôi đã đặt ở đó.Làm thế nào để xóa tất cả các tệp trong thư mục trên máy chủ từ xa trong python?
Dưới đây là những gì tôi đang cố gắng để làm ... dòng dưới #TODO là tiếng gọi tôi đang cố gắng nơi remoteArtifactPath là một cái gì đó giống như "/ opt/foo/*"
ssh = paramiko.SSHClient()
ssh.load_host_keys(os.path.expanduser(os.path.join("~", ".ssh", "known_hosts")))
ssh.connect(server, username=username, pkey=mykey)
sftp = ssh.open_sftp()
# TODO: Need to somehow delete all files in remoteArtifactPath remotely
sftp.remove(remoteArtifactPath+"*")
# Close to end
sftp.close()
ssh.close()
ý tưởng Bất kỳ làm thế nào tôi có thể đạt được điều này?
Cảm ơn
tôi đề nghị sử dụng '' 'os.path.join (remoteArtifactPath, tập tin)' '' thay vì '' 'sftp.remove (remoteArtifactPath + tập tin)' '', vì '' 'os.path. join() '' 'là nền tảng độc lập. Bộ tách dòng có thể khác nhau theo nền tảng và sử dụng os.path.join đảm bảo đường dẫn được tạo chính xác, bất kể nền tảng. – 9monkeys