0
내 FTP에 큰 파일이 있는데, Google 클라우드 저장소에 써야합니다. 내 첫 번째 생각은 ftp에서 로컬 파일로 다운로드 한 다음 로컬 파일을 원격 저장소로 전송하는 것입니다. 그러나 나는 그것을 로컬하지 않고 다운로드하는 것을 선호 할 것이다. 지금까지 나는 다음과 같은 코드를 내놓았다 :소스 간 파이썬 스트림 데이터
from ftplib import FTP
import io
ftp = ftp = FTP('example.com')
ftp.voidcmd('TYPE I')
sock = ftp.transfercmd('RETR file.csv')
raw = io.BytesIO()
file = io.BufferedRandom(raw)
blob = bucket.blob('blobname.csv', chunk_size=262144) # gcs blob
blob.upload_from_file(file, content_type='text/csv', rewind=True)
하지만 내가 얻을 :
Traceback (most recent call last):
File "/home/tsh/example.py", line 65, in <module>
file = io.BufferedRandom(raw)
io.UnsupportedOperation: File or stream is not seekable.
클라우드 스토리지로의 ftp에서 파이프 데이터에 대한 방법 (또는 다른 원격 리소스)를 다운로드하지 않고 있는가 그것은 로컬 컴퓨터에? 나는 파이썬 3.6을 사용하고있다.
rclone을 제안 해 주셔서 감사합니다.하지만 서브 프로세스없이 순수한 파이썬으로 처리해야합니다. – tsh