Python ftplib - есть ли способ его заткнуть? - PullRequest
1 голос
/ 10 июня 2010

Я пишу тестовый набор на python, и в рамках тестирования мне нужно инициализировать FTP-сервер и загрузить различные файлы.Я использую ftplib, и все работает нормально.Единственная проблема, с которой я столкнулся, заключается в том, что в окне консоли появляется множество текстов FTP, смешанных с результатами моих тестов, что делает сканирование результатов довольно сложным.Я не нашел способ закрыть ftp lib и остановить это, кто-нибудь знает, как это остановить?

1 Ответ

4 голосов
/ 10 июня 2010

Вам необходимо вручную передать пустые (или иным образом настроенные) обратные вызовы как минимум retrlines и dir .По умолчанию они печатаются в стандартный вывод (сомнительный дизайн).По умолчанию вызовы (возможно, для отладки), такие как

myFTP.retrlines(command)
myFTP.dir(someDir)

, будут распечатываться на вашем терминале.Удалите их или используйте пользовательские обратные вызовы: функции

myFTP.retrlines(command, retrlinesCallback)
myFTP.dir(someDir, dirCallback)

retrlinesCallback и dirCallback могут иметь логику, например, печатать на терминал, только если включена отладка.

Существует также опция set_debuglevel .По умолчанию 0 (без отладки), но оно может быть установлено где-то в коде.

...