Ich schreibe ein Skript, das große Datenmengen auf einen SFTP-Server überträgt, und ich möchte während der langen Ladezeit für die Fehlerbehebung/Debugging eine Art Terminalausdruck haben. Ich verwende Paramiko für die SFTP -Verbindung und das Schreiben von Dateien.
Code: Select all
remote_zip_file = sftp_client.file(file_name_with_path, "wb")
remote_zip_file.write(my_data)
Gibt es eine Möglichkeit, eine while Schleife (oder ähnliches) auszuführen, die während der paramiko.sftp_file.sftpfile geschrieben wird? < Br /> Was ich möchte, ist so etwas (Pseudo -Code): < /p>
Code: Select all
remote_zip_file = sftp_client.file(file_name_with_path, "wb")
while remote_zip_file.write(my_data) == IN_PROGRESS:
time.sleep(1)
print('Some print out that shows that the file writing is in progress')
Diese Frage bezieht sich auf die tatsächliche Schreibfunktion , nicht die Funktion Put . Antworten auf Frage, wie der Fortschritt der Dateiübertragung mit Paramiko angezeigt wird? Erwähnen Sie die integrierte Rückruffunktion, die verwendet werden kann. Dieser Rückrufparameter ist jedoch nicht in der Paramiko.sftp_file.sftpfile in der ursprünglichen Frage angegeben (Paramiko-Dokumentationsquelle).