没有项目描述

base64io的Python项目详细描述


Latest VersionSupported Python VersionsCode style: blackDocumentation Statushttps://travis-ci.org/aws/base64io-python.svg?branch=masterhttps://ci.appveyor.com/api/projects/status/ds8xvogp4m70j9ks?svg=true

此项目旨在开发一个类base64io.Base64IO,该类实现 用于Base64编码的流接口。

自2.4版以来,python支持本机base64编码。但是,没有 Base64编码的流接口,社区中没有可用接口。

遗留的base64.encodebase64.decode接口允许您在 两个流,但它假设您有两个完整的流。我们想要一个 应用Base64编码和解码的标准流。

base64io.Base64IO提供带上下文管理器的io流接口 支持base64对从中读取的数据进行透明编码。你可以用它来转换 大文件不缓存整个上下文在内存中,或转换现有的 溪流。

有关最新的完整文档,请参见Read the Docs

GitHub找到我们。

开始

base64io.Base64IO除了标准库之外没有其他依赖项,应该 使用任何大于2.6的python版本。我们在cpython 2.6,2.7,3.3上测试它, 3.4、3.5、3.6和3.7。

安装

$ pip install base64io

使用

base64io.Base64IO包装输入流并透明地编码或解码 写入或读取输入流的数据。

  • write()在将数据写入包装流之前对其进行编码
  • read()从包装的流中读取数据后对其进行解码

因为base64io.Base64IO流和包装流的位置将 几乎总是不同,base64io.Base64IO不支持:

  • seek()
  • tell()

另外,base64io.Base64IO不支持:

  • fileno()
  • truncate()

编码数据

警告

如果您不使用base64io.Base64IO作为上下文管理器,则在向 一个base64io.Base64IO流,您必须在最后一个 写。base64转换在 将其写入包装流之前的内部缓冲区。调用close()刷新 此缓冲区并将填充的结果写入包装流。这个 base64io.Base64IO上下文管理器为您执行此操作。

frombase64ioimportBase64IOwithopen("source_file","rb")assource,open("encoded_file","wb")astarget:withBase64IO(target)asencoded_target:forlineinsource:encoded_target.write(line)

解码数据

注意

当它从包装流中读取数据时,可能会读取多达三个额外字节 从底层流。

frombase64ioimportBase64IOwithopen("encoded_file","rb")asencoded_source,open("target_file","wb")astarget:withBase64IO(encoded_source)assource:forlineinsource:target.write(line)

许可证

此库是根据Apache2.0许可证授权的。

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

推荐PyPI第三方库


热门话题
ArrayList Java中的搜索字符串   另一个web应用程序的java访问会话   另一个应用程序中的活动和服务之间的java通信   java根据Json字符串类型将Json字符串转换为对象   eclipse如何解决java中的错误异常。lang.NoSuchMethodError:'java。字符串javax。摆动JOptionPane。showInputDialog(java.lang.String)'   线程“main”java中的安卓异常。lang.NoClassDefFoundError:org/codehaus/jackson/JsonParseException   java如何在安卓 emulator上显示Mat图像?使用NDK   Java在本地读取测试源文件,但在服务器上读取失败   java dowhile循环用于计算输入数字中的数字。故障排除代码   JAva初学者在编写获取成本的方法时遇到困难   java是shell游戏。我如何让物体移动,特别是在特定的曲线上,但顺序是随机的?   java如何区分两个同名的JButton   java为什么我在Spring Boot中需要一个接口?   java将文件路径插入数据库将删除\   使用InterfaceType初始化java对象   java如何部署一个分为Angular、Spring Boot和MySQL的项目?   java如何使用Symja解决不等式?