此模块的设计目的是减轻和简化python模块与文件系统的交互。

fs-manager的Python项目详细描述


languagelicensecoverage

说明

本模块旨在减轻和简化 文件系统中的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)

里面还有很多:)

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

推荐PyPI第三方库


热门话题
java Github操作在生成期间未识别机密值   java根据给定的索引号选择适当的字符。开关语句   java如何在我的项目中使用SCA mvn插件在Fortify SCA扫描中仅包含一个文件夹?   java SwingWorker无法完成   使用KeyBindings Java在按住键时摆动停止暂停   java如何从sqlite数据库获取数据   java如何使用windows批处理文件逐个启动spring引导jar文件?   在Java中,字典是在构造函数中初始化映射的更好方法   用于在Java中创建2D形状的swing高级API   JavaSwing:制作一个可滚动的JPanel列表   引用泛型类中枚举成员的c#语法   java Doc4j:由于元素类型不同,比较两个文档失败   java如何优化绘制这些标记?