返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现不写硬盘上传文件
  • 313
分享到

Python实现不写硬盘上传文件

2024-04-02 19:04:59 313人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录引言文本类型二进制类型使用 requests 把字符串按照文件上传引言 你写了一个 api,接受 client 上传的文件,然后在上传到 oss,你会怎么做?先写硬盘,然后在上传

引言

你写了一个 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

使用 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') 替换为字符串。为此我想到的办法是把字符串先写到硬盘上,在按照上面的代码上传,可是这太低效率(硬盘太低效率),平白无故多了两次硬盘读写操作,我想直接把内存中的字符串按照文件上传有什么办法吗?

 参考文档

https://docs.python.org/zh-cn/3/library/io.html#io.StringIO

以上就是Python实现不写硬盘上传文件的详细内容,更多关于Python不写硬盘上传文件的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python实现不写硬盘上传文件

本文链接: https://lsjlt.com/news/119383.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python实现不写硬盘上传文件
    目录引言文本类型二进制类型使用 requests 把字符串按照文件上传引言 你写了一个 api,接受 client 上传的文件,然后在上传到 oss,你会怎么做?先写硬盘,然后在上传...
    99+
    2024-04-02
  • Python怎么实现不写硬盘上传文件
    本篇内容主要讲解“Python怎么实现不写硬盘上传文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现不写硬盘上传文件”吧!文本类型使用 io.StringIOimp...
    99+
    2023-07-02
  • Python+django实现文件上传
    1、文件上传(input标签) (1)html代码(form表单用post方法提交) <input class="btn btn-primary col-md-1" style="margin:...
    99+
    2022-06-04
    文件上传 Python django
  • Python实现自动上传文件到百度网盘
    目录1.准备2.授权bypy访问百度网盘3.开始使用bypy4.文件上传功能5.文件同步功能要使用Python自动上传文件到百度网盘,你可以使用bypy开源模块,它提供了丰富的功能,...
    99+
    2023-05-17
    Python上传文件到百度网盘 Python上传文件到网盘 Python上传文件
  • Spring boot实现文件上传实例(多文件上传)
    文件上传主要分以下几个步骤:(1)新建maven java project;(2)在pom.xml加入相应依赖;(3)新建一个表单页面(这里使用thymleaf);(4)编写controller;(5)测试;(6)对上传的文件做一些限制;(...
    99+
    2023-05-31
    spring boot 文件上传
  • python+django快速实现文件上传
    对于web开来说,用户登陆、注册、文件上传等是最基础的功能,针对不同的web框架,相关的文章非常多,但搜索之后发现大多都不具有完整性,对于想学习web开发的新手来说就没办法一步一步的操作练习;对于web应用...
    99+
    2022-06-04
    文件上传 快速 python
  • Python利用fastapi实现上传文件
    目录使用File实现文件上传使用UploadFile实现文件上传UploadFile的属性设置上传文件是可选的上传多个文件知识点补充使用File实现文件上传 使用Form表单上传文件...
    99+
    2024-04-02
  • Python怎么实现上传Minio文件
    本篇内容介绍了“Python怎么实现上传Minio文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!环境依赖安装minio以及oss2依赖p...
    99+
    2023-06-25
  • Node.js实现文件上传
    在工作中碰到了这样的需求,需要用nodejs 来上传文件,之前也只是知道怎么通过浏览器来上传文件, 用nodejs的话, 相当于模拟浏览器的行为。 google 了一番之后, 明白了浏览器无非就是利用htt...
    99+
    2022-06-04
    文件上传 Node js
  • vue实现文件上传
    本文实例为大家分享了vue实现文件上传的具体代码,供大家参考,具体内容如下 记录问题,方便回顾 1、使用elementUI的 el-upload插件进行上传。 2、使用input。 ...
    99+
    2024-04-02
  • PHP实现文件上传
    上传文件的必备三个条件: 上传到后台的文件 method = "post";(不可以为get方法) enctype = "multipart/form-data";(注意哦,是data,不是date) 三者缺一不可 后台PHP的$_FIL...
    99+
    2023-09-02
    php 服务器 开发语言
  • ASP.NET实现文件上传
    本文实例为大家分享了ASP.NET实现文件上传的具体代码,供大家参考,具体内容如下 .NET中C/S和B/S上传文件不同 B/S中文件上传和C/S中的文件上传性质完全不一样 在C/S...
    99+
    2024-04-02
  • Python+django实现简单的文件上传
    今天分享一下Django实现的简单的文件上传的小例子。 步骤 •创建Django项目,创建Django应用 •设计模型 •处理urls.py 以及views.py ...
    99+
    2022-06-04
    文件上传 简单 Python
  • Python实现FTP上传文件或文件夹实例(递归)
    本文实例讲述了Python实现FTP上传文件或文件夹实例。分享给大家供大家参考。具体如下: import sys import os import json from ftplib import...
    99+
    2022-06-04
    递归 文件夹 上传文件
  • Java实现FTP文件上传
    目录一、配置FTP文件服务器 FTP两种模式简介 PORT(主动模式) Passive(被动模式) 1、安装vsftpd 2、配置vsftpd 3、重启启动服务 4、登录二、java...
    99+
    2024-04-02
  • Javaselenium上传文件的实现
    目录下载和安装AutoIt1.打开AutoIt的官网下载下载和安装AutoIt 文件上传是自动化中棘手的部分,目前selenium并没有提供上传的实现api,所以知道借助外力来完成,...
    99+
    2024-04-02
  • ASP.NETCore实现多文件上传
    创建应用程序 打开VS 2017   --新建 ASP.NET Core Web 应用程序     --Web 应用程序(模型视图控制器) 程序名字、路径,默认即可 删除不必要的内...
    99+
    2024-04-02
  • Python实现上传Minio和阿里Oss文件
    目录前言环境依赖代码补充前言 本文提供Python上传minio以及阿里oss文件工具,给自己留个记录。 环境依赖 安装minio以及oss2依赖 pip install min...
    99+
    2024-04-02
  • Python ftp上传文件
    以下代码比较简单,对python实现ftp上传文件相关知识感兴趣的朋友可以参考下 #encoding=utf8 from ftplib import FTP #加载ftp模块 IP = '103.240...
    99+
    2022-06-04
    上传文件 Python ftp
  • 用Python上传文件
    Python正在吞噬这个世界!您会发现许多热情的Python程序员和同样多的批评者,但不可否认的是,Python在当今软件开发中是一个强大的、相关的、不断增长的力量。 Python只是一种语言,语言不能解决业务问题,如工作流、体系结构和物流...
    99+
    2023-01-31
    上传文件 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作