【发布时间】:2020-11-17 22:04:40
【问题描述】:
我正在使用 python 创建从我们的 ftps 站点到 S3 存储桶的数据传输。
for ftp_file in files_to_upload:
ftp_file_obj = self.ftp_client.retrbinary('RETR '+ftp_file,open(ftp_file,'wb').write)
print(ftp_file_obj)
if self.s3_upload(
ftp_file_obj, ftp_file):
print('file uploaded to s3')
files_to_move.append(ftp_file)
我必须遍历 FTP 目录并将这些文件加载到内存中。然后,我需要将该文件放入内存并将其推送到 S3。我得到 Fileobj must implement read 错误,但我不知道为什么。
我确实有代码打印ftp_file_obj,我很奇怪这是成功传输的字符串打印输出。我一定是错误地使用了retrbinary,或者错误地存储了文件。是的,虽然我确实希望它在内存中,但在这种情况下我使用 write 来确保文件看起来符合预期。
【问题讨论】:
标签: python amazon-s3 boto3 ftplib ftps