Hallo, ich benutze Python und versuchen, eine Verbindung zu sftp und wollen eine XML-Datei von dort abrufen und müssen in meinem lokalen System, unten der Code istWie alle Ordner und Dateien in dem Verzeichnis nach der Verbindung über sftp in Python auflisten
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
hier Verbindung ist Erfolg voll und jetzt will ich alle Ordner und alle Dateien sehen und für das Abrufen von xML-Datei von dort zum gewünschten Ordner eingeben, benötigen.
Endlich ist es meine Absicht, alle Ordner und Dateien nach der Verbindung zu sftp Server anzuzeigen. In dem obigen Code i ftp.listdir()
durch welche benutzt hatte, bekam ich Ausgabe als etwas, was wie unter
['.bash_logout', '.bash_profile', '.bashrc', '.mozilla', 'testfile_248.xml']
Ich möchte wissen, ob diese die einzigen Dateien vorhanden sind?
Und der Befehl, den ich oben verwendete, ist richtig, um die Ordner auch zu sehen?
Was der Befehl die Ordner und Dateien all
Unter Berufung auf dem stringification Verhalten von 'SFTPAttributes' ist ein schrecklicher, schrecklicher Hack. Warum machst du es nicht richtig und benutzt 'stat.S_ISDIR (lstatout.st_mode)'? –
@FakeName Ich versuche das zu tun und ich verstehe deinen Kommentar nicht. –
@PANDAStack - 'ftp.lstat (i)' gibt eine Instanz der Klasse ['SFTPAttributes'] zurück (https://github.com/paramiko/paramiko/blob/6978c7a0b8faa683b119de3a0c096be31ac4fdc9/paramiko/sftp_attr.py#L25). Die Art und Weise, wie diese Antwort lautet, hängt davon ab, wie die Bibliothek das '__repr__' von' SFTPAttributes' * aussehen * gewählt hat, was eine ** völlig ** für das Debugging von Programmierern ist und wahrscheinlich nicht getestet oder garantiert ist konstant zu sein, sogar über Patch-Versionsnummern. –