Skip to main content

simplify file processing

Project description

File Block

Programe

简化文件处理 - simplify file processing

Installing from pip

pip 安装

pip install fileblock

清华源安装

pip install fileblock -i https://pypi.tuna.tsinghua.edu.cn/simple

How to use

import fileblock as fb
from fileblock import Block, Children

Block

Create Block

file_block = Block("./") # 创建一个Block
参数 类型 返回值 描述
name string None 创建 block 的逻辑位置
Tips:
  @path 不一定是真实存在的文件或者文件夹路径

block.sub_block

参数 类型 返回值 描述
path string Block 相对于 block 的相对路径

block.append

参数 类型 描述
name string 相对于 block 的相对路径
type btype.FILE / btype.DIR 需要添加的节点类型

返回新生成节点的Block对象

Tips:
    当type == FILE时,若name形如x1/x2, 则会新建x1文件夹,返回的是x2的Block对象,而不是x1

block.join_path

参数 类型 描述
path string 需要拼接的文件/文件夹路径

返回拼接后的路径

block.remove

说明:

如果该 block 对象是真实存在的文件/文件夹, 则从磁盘上永久删除该文件/文件夹

block.moveTo

参数 类型 描述
target Block 一个类型为Dir的Block对象

如果block存在,则会把其中的文件与文件夹移动到target对应的文件夹内

block.copyTo

参数 类型 描述
target Block 一个类型为Dir的Block对象

把 Block 及其 Children 都拷贝如 target 中

block.cut

参数 类型 描述
rates int/float 需要划分的比重

🌰举个例子:

文件夹里如果有n个文件,想要划分成7:3,那参数就是7, 3,也就是block.cut(7, 3)

如果想要分成1:2:3,那就block.cut(1, 2, 3)

返回值时一个列表,其中的元素是划分好的Children类型

block.get_file_contents

如果block时文件,则返回该文件的bytes内容

block.leaves

Block文件树的叶子节点构成的Children集合

block.isfile

当block存在,且为文件时等于True

block.isdir

当block存在,且为文件夹时为True

block.exists

当block存在时为True

block.children

返回block对象包含的子文件与子文件夹构成的Children集合

block.btype

返回该Block对象的类型 FILE | DIR | None

Children

children.abspaths -> list[str]

返回所有Block的绝对路径

children.shuffle -> Children:

返回打乱顺序的Children,不改变本身内容

加法

c1 = Children()
c2 = Children()
c3 = c1 + c2 # type(c3) == Children

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fileblock-2.0.0.2022.6.13.tar.gz (12.4 kB view hashes)

Uploaded Source

Built Distribution

fileblock-2.0.0.2022.6.13-py3-none-any.whl (12.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page