Python ftplib - Qualche modo per zittirlo?
Domanda
Sto scrivendo un cablaggio di prova in Python e come parte del test ho bisogno di inizializzare un server FTP e caricare vari file. Sto usando ftplib e tutto funziona bene. L'unico problema che ho è che sto vedendo un sacco di testo FTP che appare nella finestra della console mescolati con i risultati dei miei test, il che rende la scansione dei risultati piuttosto difficili. Non ho trovato il modo di chiudere FTP Lib e smettere di accadere, qualcuno sa come fermare questo?
Soluzione
È necessario passare al callback vuoti (o altrimenti personalizzati). retrini e Dir. Per impostazione predefinita, stampano su stdout (design discutibile). Per impostazione predefinita le chiamate (probabilmente per il debug) come
myFTP.retrlines(command)
myFTP.dir(someDir)
Stamparle sul tuo terminale. Rimuoverli o utilizzare callback personalizzati:
myFTP.retrlines(command, retrlinesCallback)
myFTP.dir(someDir, dirCallback)
retrlinesCallback
e dirCallback
Le funzioni potrebbero avere una logica per la stampa ad es. Solo il terminale se il debug è abilitato.
C'è anche un set_debuglevel opzione. L'impostazione predefinita è 0 (nessun debug), ma potrebbe essere impostato da qualche parte nel codice.