simplify file processing
Project description
File Block
简化文件处理 - 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
- [创建Block](#create block)
- block.sub_block
- block.append
- block.join_path
- block.remove
- block.moveTo
- block.copyTo
- block.cut
- block.get_file_contents
- block.leaves
- block.isfile
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
Project details
Release history Release notifications | RSS feed
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)
Built Distribution
Close
Hashes for fileblock-2.0.0.2022.6.13.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 497ff7ec232476056382303e79ddcc63be27e28ede0ad485a70da64a30b54c46 |
|
MD5 | c37b083a1e7d3b8b99e4a120836129d6 |
|
BLAKE2b-256 | c2f80ea7a71598b822ce55c687f5587339a89f70df9252709a00f09c44129210 |
Close
Hashes for fileblock-2.0.0.2022.6.13-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2995f90ad38267d542959a74cbc822bb600a8477723068152253b460847b7af0 |
|
MD5 | e2dbc45cf51898c3da1cfd5c8245d511 |
|
BLAKE2b-256 | f5f87d98a101f6242fc5014564b71470bba79379cd20351b1ac089be4bb7457b |