【发布时间】:2015-10-07 18:07:54
【问题描述】:
这是我的工作脚本,它生成一个绘图,将其保存到本地磁盘,上传到 S3 并删除文件:
plt.figure(figsize=(6,6))
plt.plot(x, y, 'bo')
plt.savefig('file_location')
conn = boto.s3.connect_to_region(
region_name=AWS_REGION,
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
calling_format=boto.s3.connection.OrdinaryCallingFormat()
)
bucket = conn.get_bucket('bucket_name')
k = Key(bucket)
k.key = 'file_name'
k.set_contents_from_filename('file_location')
os.remove(file_location)
我想要的是跳过磁盘写入并直接从内存中上传情节。
有什么建议可以实现吗?
【问题讨论】:
-
保存到
io.BytesIO(),f = io.BytesIO(),plt.savefig(f) -
太好了,谢谢!之后上传我只需要打电话
f.seek(0)然后k.set_contents_from_file(f) -
不用担心。是的,指针在写入后将位于末尾。
标签: python python-3.x matplotlib amazon-s3 boto