multipart/*阅读器从awsome'aiohttp'项目中提取,参见:http://aiohttp.readthedocs.org/en/stable/multipart.html。

multipart-reader的Python项目详细描述


We are under CI!!

允许读取多部分内容,如混合内容、相关内容等。

感谢aiohttp项目的实施,cf.: http://aiohttp.readthedocs.org/en/stable/multipart.html。不幸的是 人们还没有移动到asyncio,或者不想要完整的aiohttp堆栈 读取多部分内容。

在这里,我们试图保持所有的aiohttp逻辑和覆盖范围,但是协程 机制。

它的功能

它读取multpart/x内容的方式相同。假设我们有 多部分/相关内容:

>>> import json

>>> from email.mime.multipart import MIMEMultipart
>>> from email.mime.base import MIMEBase

>>> multipart = MIMEMultipart('related')

>>> part = MIMEBase('application', 'json')
>>> part.set_payload(json.dumps({'foo': 'bar'}))
>>> multipart.attach(part)

>>> part = MIMEBase('application', 'octet-stream')
>>> part.set_payload(b"Python will save the world. I don't know how. But it will.")
>>> part.add_header('Content-Disposition', 'attachment', filename='python-save-the-world.txt')
>>> multipart.attach(part)

下面是我们如何阅读的:

>>> import io

>>> from multipart_reader import MultipartReader

>>> content = multipart.as_string().split('\n\n', 1)[1]
>>> headers = dict(multipart.items())

>>> stream = io.BytesIO()
>>> stream.write(content)
>>> stream.seek(0)

>>> reader = MultipartReader(headers, stream)

>>> json_part = reader.next()
>>> json_part.json()
{'foo': 'bar'}

>>> file_part = reader.next()
>>> file_part.read()
"Python will save the world. I don't know how. But it will."

>>> file_part.filename
'python-save-the-world.txt'

就这样……

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在href中将struts2文本字段的值作为参数传递?   java检查对象属性是否为空的最佳方法是什么?   java通过Maven使用Junit类别运行Cucumber测试   java如何在selenium Webdriver(Mac)中使用Robot类上传多个文件?   如何用python绘制图形或将python转换为java和Matlab?   java Osgi捆绑包更新和ResourceBundle   java使用流api将流<@Nullable T>转换为流<@NonNull T>   java中EXCEL的平台无关连接字符串   JavaFX中的java表   java Jetty线程池和sun。HttpServer会话   JPA存储库bean的java Spring注入无法工作NullPointerException   java从另一个Kubernetes作业触发Kubernetes   我的java netbeans抽奖计划需要帮助吗   泛型中的java有界类型无法扩展另一个有界类型   如果混合使用全局构建和概要文件构建,java cxfcodegenplugin会生成错误代码   封装SQL平台之间差异的java策略?