【发布时间】:2018-11-29 22:41:23
【问题描述】:
我在 Go 中从 S3 下载一个 zip 文件,如下所示:
buff := &aws.WriteAtBuffer{}
downloader := s3manager.NewDownloader(session.New(config))
_, err := downloader.Download(buff, &input)
if err != nil {
log.Println(err)
return err
}
data := buff.Bytes()
我将“数据”发送到用 Python3 编写的客户端,并且需要将此字节数组转换回 zip 文件并将其放在指定的目录中。我试过这个:
file_bytes = msg_obj["Params"]
try:
zf = zipfile.ZipFile(file_bytes, "r")
for fileinfo in zf.infolist():
print(zf.read(fileinfo).decode('ascii'))
except: print("Err:", sys.exc_info()[0])
但我收到此错误:
OSError: [Errno 36] 文件名太长"
我只想“重建”压缩文件并将其保存到目录中。
【问题讨论】:
-
你是在windows上运行你的python脚本吗?你能提供一个导致错误的文件名示例吗?
标签: python arrays go amazon-s3 zipfile