ftp-server에서 데이터를 검색하는 스크립트를 사용하고 있습니다. 다운로드를 병렬화하려면 함수 내에서 ftp.retrbinary
이 호출됩니다. 최대한 빨리 평행, 다운로드가 단지 걸리면를 다운로드 원하는함수에서 병렬화 된 호출시 Python ftp.retrbinary()가 작동하지 않습니다.
from ftplib import FTP
def download_file(file_in, target_file):
ftp.retrbinary('RETR '+file_in, open(target_file, 'wb').write)
return 0
ftp = FTP(FTP_HOST)
ftp.login(FTP_USER, FTP_PASS)
ftp.cwd(FTP_PATH)
for file_input in files_to_check:
download_file(target_dir,file_input)
및 데이터가 전송되지 않습니다 :
ATM의 작업 코드는 다음과 같습니다
이from ftplib import FTP
from joblib import Parallel, delayed
def download_file(file_in, target_file):
ftp.retrbinary('RETR '+file_in, open(target_file, 'wb').write)
return 0
ftp = FTP(FTP_HOST)
ftp.login(FTP_USER, FTP_PASS)
ftp.cwd(FTP_PATH)
Parallel(n_jobs=2)(delayed(download_file)(target_dir,file_input) for file_input in files_to_check)
는 사람이 있나요 이유는 ftp.retrbinary
가 병렬 다운로드에 대해 작동하지 않습니다.
나를 위해 잘 작동합니다. 전체 오류 스택 추적을 제공 할 수 있습니까? –
답장을 보내 주셔서 감사합니다! 병렬화가 문제라고 판명되었습니다. 불행히도 다운로드가 시작되지 않고 파일 크기가 0으로 유지됩니다. – jonesl