基于节点的文件系统目录抽象

node.ext.director的Python项目详细描述


用法

创建新文件

fromnode.ext.directoryimportFilefile_path='file.txt'f=File(name=file_path)# set contents via data attributef.data='data\n'# set contents via lines attributef.lines=['data']# set permissionsf.fs_mode=0o644# persistf()

读取现有文件

file_path='file.txt'f=File(name=file_path)assert(f.data=='data\n')assert(f.lines==['data'])assert(f.fs_mode==0o644)

包含二进制数据的文件

fromnode.ext.directoryimportMODE_BINARYfile_path='file.txt'f=File(name=file_path)f.mode=MODE_BINARYf.data=b'\x00\x00'assert(f.data==b'\x00\x00')# lines property won't work if file in binary modef.lines# raises RuntimeError

创建目录

fromnode.ext.directoryimportDirectorydir_path='.'d=Directory(name=dir_path)# add subdirectories and filesd['sub']=Directory()d['file.txt']=File()# set permissions for directoryd['sub'].fs_mode=0o755# persistd()

读取现有目录

dir_path='.'d=Directory(name=dir_path)
>>> d.printtree()<class 'node.ext.directory.directory.Directory'>: .
  <class 'node.ext.directory.directory.File'>: file.txt
  <class 'node.ext.directory.directory.Directory'>: sub

定义文件工厂

fromnode.extimportdirectoryclassPyFile(File):pass# set global factoriesdirectory.file_factories['.py']=PyFile# set local factoriesd=Directory(name='.',factories={'.py':PyFile})
# when reading .py files, PyFile is used to instanciate children
>>> withopen('foo.py','w')asf:... f.write('#')>>> d=Directory(name='.',factories={'.py':PyFile})>>> d.printtree()<class 'node.ext.directory.directory.Directory'>: .
  <class '...PyFile'>: foo.py

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

推荐PyPI第三方库


热门话题
(数组)列出Java中的实现   java检测JDBC连接中尚未提交的开放事务   java H2语句池   java正在使用cardlayout,有一个我无法解决的问题   java Android MTP客户端打开的是整个设备,而不是单个接口   java Querydsl mongodb gradle springboot问题   java XML使用外部xsd验证anytype类型的XML的一部分   java如何使用Hibernate在实体中创建属性表?   intellij理念“BufferedReader”与“java.io.BufferedReader”之比较。这有关系吗?   java解释多线程的输出   Eclipse中的java Android应用程序:编辑未显示在图形布局上的文本   java如何在struts 1中使用显示标记?