문제
GOGLED 그러나 하나의 파일을 업로드하는 방법 만 찾을 수있었습니다. 로컬 디렉토리에서 원격 FTP 디렉토리에 모든 파일을 업로드하려고합니다. 이것을 달성하는 방법이 있습니까?
해결책
루프로?
편집하다: Universal Case에서는 파일 만 업로드하면 다음과 같습니다.
import os
for root, dirs, files in os.walk('path/to/local/dir'):
for fname in files:
full_fname = os.path.join(root, fname)
ftp.storbinary('STOR remote/dir' + fname, open(full_fname, 'rb'))
분명히, 이와 같은 파일 이름을 보존하는 경우 이름 충돌을 찾아야합니다.
다른 팁
보다 JSON-CALL에서 업로드 파일을 만드는 데 필요한 파이썬 스크립트 라인 그리고 다음 ftplib-operation : 왜 일부 업로드이지만 다른 것이 아닌가?
질문과는 다른 시작 위치이지만 대답 첫 번째 URL 중에서 Ftplib a JSON-File + XML-File에 의해 업로드 할 수있는 예제 구성이 표시됩니다. ScriptLine 024 이상을보십시오.
두 번째 URL에는 더 많은 파일 업로드와 관련된 다른 측면이 표시됩니다.
JSON 및 XML 이외의 다른 파일 유형에도 적용됩니다. FTP_UPLOAD 기능을 정의하고 실현하는 2 개의 마지막 섹션 이전에 다른 '항목'이 있습니다.
FTP 배치 파일을 만듭니다 (전송해야 할 파일 목록 포함). Python을 사용하여 "-s"옵션으로 ftp.exe를 실행하고 파일 목록을 전달하십시오.
이것은 kludgy이지만 분명히 ftplib는 STOR 명령에 여러 파일을 허용하지 않습니다.
다음은 샘플 FTP 배치 파일입니다.
*
OPEN inetxxx
myuser mypasswd
binary
prompt off
cd ~/my_reg/cronjobs/k_load/incoming
mput *.csv
bye
위의 내용이 "abc.ftp"라는 파일에있는 경우 - 내 FTP 명령은 다음과 같습니다.
ftp -s abc.ftp
도움이되기를 바랍니다.