Используя программу python, я смог загрузить несколько исходных файлов с FTP-сервера (используя библиотеки ftplib
и os
) на свой локальный компьютер.
Эти исходные файлы находятся в определенном каталоге внутри FTP-сервера.
Я смог загрузить исходные файлы только в том случае, если я указал тот же путь к каталогу на своем локальном компьютере, что и путь к каталогу FTP.
Я могу загрузить файлы в C:\data\abc\transfer
, который совпадает с удаленным каталогом /data/abc/transfer
. Код настаивает на том, чтобы я предоставил тот же каталог.
Но я хочу загрузить все файлы в нужный каталог C:\data_download\
Ниже приведен код:
import ftplib
import os
from ftplib import FTP
Ftp_Server_host = '[email protected]'
Ftp_username ='qsdfg12'
Ftp_password = 'xxxxx'
Ftp_source_files_path = '/data/abc/transfer/'
ftp = FTP(Ftp_Server_host)
ftp.login(user=Ftp_username, passwd=Ftp_password)
local_path = 'C:\\data_download\\'
print("connected to remote server :" + Ftp_Server_host)
print()
ftp_clnt = ftp_ssh.open_sftp()
ftp_clnt.chdir(Ftp_source_files_path)
print("current directory of source file in remote server :" +ftp_clnt.getcwd())
print()
files_list = ftp.nlst(Ftp_source_files_path)
for file in files_list:
print("local_path :" + local_path)
local_fn = os.path.join(local_path)
print(local_fn)
print('Downloading files from remote server :' + file)
local_file = open (local_fn, "wb")
ftp.retrbinary("RETR " + file, local_file.write)
local_file.close()
print()
print("respective files got downloaded")
print()
ftp_clnt.close()