此模块的设计目的是减轻和简化python模块与文件系统的交互。
fs-manager的Python项目详细描述
说明
本模块旨在减轻和简化 文件系统中的python模块。
安装
python setup.py install
或
pip install -e .
或
pip install fs-manager
如何使用
例如,可以从FSManagerclass继承类
from fs_manager import FSManager class Foo(FSManager, ...): FSManager.__init__(self, base_path="/some/base", mode=0o744, temporary=True) ...
也可以将其用作对象
from fs_manager import FSManager with FSManager(base_path="/tmp/base", mode=0o744, temporary=True) as fsm: fsm.mkdir(alias="tom", path="tom_dir", mode=0o744, temporary=True) fsm.cd("tom") fsm.mkdir("tom_dir") fsm.mkfile("jerry", "jerry_file", 0o644, True) fsm.ls() fsm.up() fsm.ls() fsm.rm("tom")
保存您所做的
from fs_manager import FSManager with FSManager(base_path="/tmp/base", mode=0o744, temporary=True) as fsm: fsm.mkdir(alias="tom", path="tom_dir", mode=0o744, temporary=True) fsm.cd("tom") fsm.mkdir("tom_dir") fsm.mkfile("jerry", "jerry_file", 0o644, True) fsm.ls() fsm.save_all() ... shutil.copy("/tmp/base/.fs-structure-full.json", "/tmp/another_base/.fs-structure-full.json") ... with FSManager(base_path="/tmp/another_base", mode=0o744, temporary=True) as fsm: fsm.load_all()
结构将在根目录下保存到“.fs structure full.json”。但是结构 当temporary=False时自动保存。所以如果你初始化 从同一目录加载结构。
从磁盘上的目录初始化fs manager
from fs_manager import FSManager with FSManager(base_path="/tmp/base", mode=0o744, temporary=False) as fsm: fsm.snappy(root_binded=True) fsm.cd("some/path")
因此,如果root_binded=True,您的结构将从一个根初始化。 换句话说,您将能够从根fs manager对象中cd。
此外,您还可以在任何类似前缀下验证文件的哈希和
from fs_manager import FSManager with FSManager(base_path="/tmp/base", mode=0o744, temporary=False) as fsm: fsm.snappy(root_binded=True) fsm.cd("some/path") fsm.save_hashsums("sha1") ... mismatches = fsm.check_hashsums(type="sha1", log_warnings=False)
里面还有很多:)