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

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 libGDX绘制纹理区域的一部分   要生成的windows Java编译器选项。exe文件   JFrame中标题栏中的java字幕   java为非java应用程序创建jar文件。类文件   java活动流在应用程序加载时在面板中生成X个数量的对象   java GAE:隐藏敏感网站文件/信息   java使用itext以编程方式单击PDF XFA表单上的按钮   java组件大小问题!由于我不知道的原因,调整到父级大小!   JOptionPane中的java更新消息   Eclipse启动时java启动Tomcat?   java如何使用CameraKit保存照片和视频   java中的XML文档遍历器   java如何在ECDSA中处理基址顺序较长的短哈希   java与MySQL和Netbeans的斗争