最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Python实现不写硬盘上传文件介绍
时间:2022-09-26 编辑:坚强 来源:一聚教程网
本文为大家带来了关于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__:
:8 - <_io.StringIO object at 0x100323eb0>
2022-07-11 21:23:51.206 | DEBUG | __main__::9 -
2022-07-11 21:23:51.206 | DEBUG | __main__::10 -
2022-07-11 21:23:51.206 | DEBUG | __main__::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__:
:9 - hahaha
二进制类型
使用 io.BytesIO
使用 requests 把字符串按照文件上传
下面的代码是标准的上传文件的代码:
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') 替换为字符串。为此我想到的办法是把字符串先写到硬盘上,在按照上面的代码上传,可是这太低效率(硬盘太低效率),平白无故多了两次硬盘读写操作,我想直接把内存中的字符串按照文件上传有什么办法吗?
以上就是关于Python实现不写硬盘上传文件介绍的全部内容了,感兴趣的小伙伴记得点击关注哦。
相关文章
- Golang ProtoBuf的基本语法详解 10-20
- Python识别MySQL中的冗余索引解析 10-20
- Python+Pygame绘制小球代码展示 10-18
- Python中的数据精度问题介绍 10-18
- Python随机值生成的常用方法介绍 10-18
- python3解压缩.gz文件分析 09-27