Моему приложению нужно загрузить все каталоги с удаленного FTP, я впервые тестирую Python ftplib
.
Когда я пытаюсь составить список всех каталогов на удаленном FTP с помощью команды ftp.nlst()
, возвращается пустой список. Я точно знаю, что каталог не пустой, потому что эта команда: ftp.retrlines('list')
вернула объект, отображающий имена подпапок внутри каталога.
Во время тестирования я пробовал другие команды, такие как ftp.cwd('/other-dir/')
или ftp.pwd()
, но ни одна из них, похоже, не работает.
Это код, который я использую для отображения списка подкаталогов:
from ftplib import FTP
def ftpConnection():
ftp = FTP('ftp-address')
ftp.login('user', 'password')
lista = ftp.nlst()
return (lista)
print(ftpConnection())
Выход:
[]
Как видите, список пуст.
Это мой код для retrlines
:
def ftpConnection():
ftp = FTP('remoteFtp')
ftp.login('user', 'password')
ftp.retrlines('LIST')
print (ftpConnection())
Вывод:
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Jun 29 09:23 .
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Jun 28 05:11 103367
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Jun 29 02:01 121901
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Sep 23 2016 123233
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Jun 29 09:19 125183
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Jun 29 02:34 133028
Это вывод из командной строки ftp
:
230-Welcome clt_kantar_italy from remoteFtp. You are now logged in to the server.
230 User logged in, proceed.
ftp> dir
200 PORT command successful.
150 File status okay; about to open data connection.
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Jun 29 09:23 .
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Jun 28 05:11 103367
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Jun 29 02:01 121901
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Sep 23 2016 123233
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Jun 29 09:19 125183
drw-rw-rwx 1 clt_kantar_italy clt_kantar_italy 512 Jun 29 02:34 133028
226 Closing data connection. Transferred 481 bytes.
ftp: 484 bytes received in 0.01secondi 37.23Kbyte/sec)
ftp> ls
200 PORT command successful.
150 File status okay; about to open data connection.
226 Closing data connection. Transferred 0 bytes.