逐块迭代更容易

pybite的Python项目详细描述


侏儒虫

逐块迭代使操作更简单

安装

pip install pybite

方法

迭代

返回iterable的块迭代器

参数

iterableiter

任何iter数据,如list、tuple、dict、iter等。

块大小int

每个块的大小

mapcallable可选,默认值none

分块前转换数据的映射函数

返回

iter

块数据的新Iterable

示例

>>>iterate_by([1,2,3,4,5],2)iter([[1,2],[3,4],[5])>>>iterate_by([1,2,3,4,5],2,map=lambdax:x*2)iter([[2,4],[6,8],[10])

按行拆分文件

将一个文件拆分为多个文件并将它们存储在输出路径中

该文件被分为b行成块文件,以后可以单独读取 或者加入到后面。

参数

文件流strio.stringio

要拆分的文件的文件路径或io.stringio实例。

输出路径str

存储块的目录的路径。

int

每个块文件上的行数。 如果包含标题,则总计将为行+1。

编码str可选,默认值None

输入文件编码。 块将使用相同的编码保存。

persist\u头bool可选,默认值false

是否在每个块上持久化头。 如果persist_header为True而header为None, 第一行将被读取为实际标题。

str可选,默认值None

要在每个文件开头写入的头。 如果persist_header为True而header为None, 第一行将被读取为实际标题。

块名格式str可选,默认值“04d”

输出文件名中块号的格式字符串。

返回

列表

写入文件的路径列表。

示例

withopen("test.txt","w",encoding="utf-8")asf:f.write("Symbols\nAyp\nBx\nCC\nDt")>>>split_by_lines("test.txt","out",2,encoding="utf-8")["out/test.chunk0000.txt","out/test.chunk0001.txt","out/test.chunk0002.txt"]>>>split_by_lines("test.txt","out",2,encoding="utf-8",persist_header=True)["out/test.chunk0000.txt","out/test.chunk0001.txt"]

连接文件块

将块文件连接到单行流中。

将按行拆分创建的文件合并为 str行并按名称顺序读取。 如果忽略缺少的块不是false,则未找到的块将引发错误。

避免将不同的文件块保存到同一目录中

参数

文件路径str

包含块文件的目录的路径或文件的路径列表。

编码str可选,默认值None

输入文件编码。 块将使用相同的编码保存。

持久化的头bool可选,默认值false

是否在每个块上持久化了头。 如果persisted_header为true而header为none, 第一个文件的第一行将作为实际头文件读取。

str可选,默认值None

要在第一个文件开始时读取的头。 如果persisted_header为true而header为none, 第一个文件的第一行将作为实际头文件读取。

忽略缺少的块bool可选,默认值“false

忽略丢失块的标志

返回

iter

文件行的一个iterable(按顺序读取)。

测试

测试由PyTest处理,并包含在文件夹test中。

要运行测试,请执行以下命令:

pytest

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

推荐PyPI第三方库


热门话题
java对ServiceListener和ServiceTracker调用提供了哪些排序保证?   java找不到方法格式的符号(DateTimeFormatter)?   mysql有没有一种方法可以将TCPDump输出到一个文件中,并用Java对其进行过滤,每5秒钟用新数据覆盖一次该文件?   java如何最好地配置用户上传支持文件的上传位置   java我在Android上使用OData4j,我无法获取实体   JPA实体关系简单示例中的java获取错误   JAVANoClassDefFoundError:安卓。应用程序。用法安卓中的UsageStatsManager   Eclipse中javaoo代码分析   java MethodVisitor抛出类格式错误   java为什么在从ViewModel调用时,改型排队不起作用?   调试小程序Java控制台:删除跟踪消息大小限制   java复杂安卓活动动画   java如何在使用JDOM2解析XML时忽略注释内容   java通过循环创建文本字段   即使在bufferedwriter关闭后也未发现java文件异常   单链表恢复中的java错误