Python實現(xiàn)不寫硬盤上傳文件
引言
你寫了一個 api,接受 client 上傳的文件,然后在上傳到 oss,你會怎么做?先寫硬盤,然后在上傳到 oss?太笨了!
你寫了一個截圖服務(wù),截到的圖要上傳到 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())
輸出結(jié)果如下:
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())
輸出結(jié)果如下:
2022-07-11 21:35:04.620 | DEBUG | __main__:<module>: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')
替換為字符串。為此我想到的辦法是把字符串先寫到硬盤上,在按照上面的代碼上傳,可是這太低效率(硬盤太低效率),平白無故多了兩次硬盤讀寫操作,我想直接把內(nèi)存中的字符串按照文件上傳有什么辦法嗎?
參考文檔
https://docs.python.org/zh-cn/3/library/io.html#io.StringIO
以上就是Python實現(xiàn)不寫硬盤上傳文件的詳細內(nèi)容,更多關(guān)于Python不寫硬盤上傳文件的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python經(jīng)典題實戰(zhàn)記錄之百元買百雞
有一道著名的"百錢買百雞"問題大家應(yīng)該都不陌生,這篇文章主要給大家介紹了關(guān)于Python經(jīng)典題實戰(zhàn)記錄之百元買百雞的相關(guān)資料,文中給出了詳細的代碼示例,需要的朋友可以參考下2023-12-12Pytorch 實現(xiàn)自定義參數(shù)層的例子
今天小編就為大家發(fā)信息一篇Pytorch 實現(xiàn)自定義參數(shù)層的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08Keras load_model 導(dǎo)入錯誤的解決方式
這篇文章主要介紹了Keras load_model 導(dǎo)入錯誤的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python開發(fā)之城堡保衛(wèi)戰(zhàn)游戲的實現(xiàn)
這篇文章主要為大家詳細介紹了如何利用Python編寫一個簡單的城堡保衛(wèi)戰(zhàn)游戲,本文用到了os文件讀寫,pygame模塊以及面向?qū)ο笏枷?,感興趣的可以了解一下2023-01-01解決Python?Pandas?DataFrame表格打印輸出不能對齊的問題
這篇文章主要介紹了解決Python?Pandas?DataFrame表格打印輸出不能對齊的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09