동일한 FTP 세션에서 Python의 ftplib을 사용하여 동일한 FTP 서버의 두 폴더를 탐색하고 싶습니다. 다음과 같이Python의 FTP 서버에서 다른 폴더 탐색
이 (gbname 및 gffname이 할당) 내가 쓴 기본 스크립트가됩니다 :
ensembl = FTP('ftp.ensemblgenomes.org')
ensembl.login()
ensembl.cwd("pub/fungi/current/genbank/")
ensembl.retrbinary('RETR ' + gbname, open(gbname, 'wb').write)
ensembl.cwd("pub/fungi/current/gff/")
ensembl.retrbinary('RETR ' + gffname, open(gffname, 'wb').write)
ensembl.quit()
이 스크립트의 역 추적을 두 번째 CWD에 다음과 같은 오류와 함께 "ftplib.error_perm : (550)은 디렉토리를 변경하지 못했습니다." . 거기 추적 정보와 나는 두 개의 서로 다른 FTP 세션을 시작하여 문제를 해결할 수있는 이유를 다음과 같이
내가 이해 그러나
ensemblgb = FTP('ftp.ensemblgenomes.org')
ensemblgb.login()
ensemblgb.cwd("pub/fungi/current/genbank/")
ensemblgb.retrbinary('RETR ' + gbname, open(gbname, 'wb').write)
ensemblgb.quit()
ensemblgff = FTP('ftp.ensemblgenomes.org')
ensemblgff.login()
ensemblgff.cwd("pub/fungi/current/gff/")
ensemblgff.retrbinary('RETR ' + gffname, open(gffname, 'wb').write)
ensemblegff.quit()
, 궁금 해서요 내가 디렉토리를 변경하면, 여부에 "술집/곰팡이/현재/genbank/"로 변경하면 동일한 FTP 세션에서 나중에"pub/fungi/current/gff/"로 변경할 수 있습니다 (중간에 루트 폴더를 통과 할 가능성이 있습니까?). .
건배,
니콜라
당신이 봤어? 동시에 2 개의 다른 디렉토리를 표시하기 위해 2 개의 FTP 연결이 필요한 이유는 FTP 작동 방식입니다. 그러나 두 연결 중 하나를 사용하여 디렉토리 트리 (액세스 할 수있는 부분)를 걷는 것을 방해하는 요소는 없어야합니다. – Chewie