Python中实现上传文件有什么方法
Admin 2022-07-26 群英技术资讯 1596 次浏览
今天小编跟大家讲解下有关“Python中实现上传文件有什么方法”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。你写了一个 api,接受 client 上传的文件,然后在上传到 oss,你会怎么做?先写硬盘,然后在上传到 oss?太笨了!
你写了一个截图服务,截到的图要上传到 oss,你会怎么做?先写硬盘,在上传到 oss?太笨了!
这篇文章教你重新做人!
使用 io.StringIO
import io
from loguru import logger
file_like_obj = io.StringIO("hahaha")
logger.debug(file_like_obj)
logger.debug(type(file_like_obj))
logger.debug(getattr(file_like_obj,'read'))
logger.debug(file_like_obj.read())
输出结果如下:
2022-07-11 21:23:51.206 | DEBUG | __main__:<module>:8 - <_io.StringIO object at 0x100323eb0>
2022-07-11 21:23:51.206 | DEBUG | __main__:<module>:9 - <class '_io.StringIO'>
2022-07-11 21:23:51.206 | DEBUG | __main__:<module>:10 - <built-in method read of _io.StringIO object at 0x100323eb0>
2022-07-11 21:23:51.206 | DEBUG | __main__:<module>:11 - hahaha
再看一个熟悉的:
import io
from loguru import logger
file_like_obj = io.StringIO("hahaha")
with file_like_obj as f:
logger.debug(f.read())
输出结果如下:
2022-07-11 21:35:04.620 | DEBUG | __main__:<module>:9 - hahaha
使用 io.BytesIO
下面的代码是标准的上传文件的代码:
import requests
import io
response = requests.post('http://localhost:5000/', files={
'file': open('纵观人类文明史.txt', 'r', encoding='utf-8')
})
print(response.text)
但是我想把 open('纵观人类文明史.txt', 'r', encoding='utf-8') 替换为字符串。为此我想到的办法是把字符串先写到硬盘上,在按照上面的代码上传,可是这太低效率(硬盘太低效率),平白无故多了两次硬盘读写操作,我想直接把内存中的字符串按照文件上传有什么办法吗?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要给大家分享python的glob模块的内容,而glob模块是一个文件操作相关模块,用它可以查找符合要求的文件,支持通配符操作,小编觉得比较实用,因此分享给大家做个参考,感兴趣的朋友就跟随小编一起来学习一下吧。
这篇文章主要介绍了python的自变量选择(所有子集回归,后退法,逐步回归),文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
python结构体数组在NumPy中可以如下定义内存对齐python自定义结构体具体方法如下python结构体数组在C语言中我们可以通过struct关键字定义结构类型,结构中的字段占据连续
本篇文章给大家带来了关于Python的相关知识,其中Pandas是最流行的用于数据分析的 Python 库。它提供高度优化的性能。本文将利用Python进行数据分析,下面一起来看一下,希望对大家有帮助。
问题场景:问题描述原因分析及解决方案:问题场景:在SparkSQL中,因为需要用到自定义的UDAF函数,所以用pyspark自定义了一个,但是遇到了一个问题,就是自定义的UDAF函数一直报Attri
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008