直观的python目录树管理
opath的Python项目详细描述
| Travis Build Coverage Status PYPI版本许可证:MIT
Build/Coverage Status
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+——+——————————————————————————————————|
+====================================================================================================================================================================================================覆盖状态||
+————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————**odir**允许您通过将
目录树视为一级对象来构建目录树。
**文档**可以在这里找到
https://opath.readthedocs.io/en/latest/
**不带odir**
。代码::python
定义路径
top=os.path.abspath('top')
middle=os.path.join(str(top),'middle')
bottom=os.path.join(str(middle),'bottom')
os.makedirs(bottom)
打开(os.path.join(bottom,'bottomlog.txt','w')作为f:
f.write("一些日志信息")
**带odir**
…代码::python
定义路径
env=odir('top').add('middle').add('bottom').root
env.bottom.write('log.txt','w','some log information')
代码::bash
不过,odir为管理大型目录树结构提供了一些有用的特性。\*将目录和文件结构树构建为
抽象树\*使用自定义属性名快速访问深度嵌套的目录和文件
目录和文件被视为
python对象中的嵌套属性
图::images/dir_example.gif?raw=true
:alt:live示例
live示例
创建、移动或删除目录树非常容易。例如,
下面为这个repo构建目录框架。
…图:images/directory_example.png?raw=true
:alt:demo
demo
。代码::python
from opath import*
\create folder structure
env=odir('opath')
env.add('opath',alias='core')
env.core.add('tests')
env.tests.add('env')
env.tests.add('env2')
测试自述文件')
env.core.write("\uuu init_uuuuuuuuy","w","uuuu version_uuu=\"1.0")
图:images/rmdirs\u example.gif?raw=true
:alt:rmdirs示例
rmdirs示例
代码::python
print(env.test.abspath)绝对路径
print(env.test.path)相对路径
代码::python将文件写入"test"文件夹
链式的使复杂的事情变得容易。普雷特太酷了!
…代码::python
'r')
d.stat().st_mtime)
关于链接方法的更好的文档很快就会与
菜谱一起出现。
基本用法
==
使用"add"创建文件夹。
代码::来自opath import的python
env.add('subfolder1')
env.add('subfolder2')
env.print()
>;
*bin
*子文件夹1
*子文件夹2
代码::python
env=odir('bin')
env.add('subfolder1').add('subsubfolder')
env.print()
>;
*bin
*subfolder1
*subfolder
代码::python
env=odir('bin')
env.add('subfolder1').add('subfolder')
env.subfolder.write('my data','w')
代码::python
env=odir('bin')
env.add_file('myfile.txt',attr='myfile')
env.myfile.write('this is my data','w')
folders自动创建可访问的odir属性。可选的
属性名可以使用"alias="设置
…代码::python
env=odir('bin')
env.add('subfolder1')
env.subfolder1.add('misc')
env.subfolder1.misc.add('.hidden',alias='hidden')
env.subfolder1.misc.hidden.add('hiddenbin')
env.print()
*bin
||*misc
*.hidden("hidden")
*hiddenbin
默认情况下,属性被*推回到根目录。下面的
与上面的相同。
…代码::python
env=odir('bin')
env.add('subfolder1')
env.subfolder1.add('misc')
env.misc.add('.hidden',alias='hidden')
env.hidden.add('hidden bin')
env.print()
*bin
*子文件夹1
*misc
*hiddenbin
以及删除目录
=================
=========
根文件夹的位置可以通过``set_bin``
。代码::python
env.set-bin('../bin')
代码::python
env.mkdirs()
env_copy=env.cpdirs()
用链条固定在
一个衬垫中。
…代码::python返回一个链表对象
env.descendants();查找所有txt文件
env.descendants(包括@self=true).glob("*.txt")
| travis build图像::https://img.shields.io/travis/jvrana/oph.svg
:目标:https://travis ci.org/jvrana/oph
…|覆盖状态图像::https://coveralls.io/repos/github/jvrana/oph/badge.svg?branch=master
:目标:https://coveralls.io/github/jvrana/opath?分支=主
…| pypi版本image::https://badge.fury.io/py/repo.svg
:目标:https://badge.fury.io/py/repo
|许可证:mit image::https://img.shields.io/badge/license mit yellow.svg
:目标:https://opensource.org/licenses/mit
…| travis build图像::https://img.shields.io/travis/jvrana/oph/master.svg
:目标:https://travis ci.org/jvrana/oph/master
。| travis build image::https://img.shields.io/travis/jvrana/opath/development.svg
:目标:https://travis ci.org/jvrana/opath/development
。|覆盖状态图像::https://coveralls.io/repos/github/jvrana/oph/badge.svg?分支=开发
:目标:https://coveralls.io/github/jvrana/opath?分支=开发
Build/Coverage Status
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+——+——————————————————————————————————|
+====================================================================================================================================================================================================覆盖状态||
+————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————**odir**允许您通过将
目录树视为一级对象来构建目录树。
**文档**可以在这里找到
https://opath.readthedocs.io/en/latest/
**不带odir**
。代码::python
定义路径
top=os.path.abspath('top')
middle=os.path.join(str(top),'middle')
bottom=os.path.join(str(middle),'bottom')
os.makedirs(bottom)
打开(os.path.join(bottom,'bottomlog.txt','w')作为f:
f.write("一些日志信息")
**带odir**
…代码::python
定义路径
env=odir('top').add('middle').add('bottom').root
env.bottom.write('log.txt','w','some log information')
代码::bash
不过,odir为管理大型目录树结构提供了一些有用的特性。\*将目录和文件结构树构建为
抽象树\*使用自定义属性名快速访问深度嵌套的目录和文件
目录和文件被视为
python对象中的嵌套属性
图::images/dir_example.gif?raw=true
:alt:live示例
live示例
创建、移动或删除目录树非常容易。例如,
下面为这个repo构建目录框架。
…图:images/directory_example.png?raw=true
:alt:demo
demo
。代码::python
from opath import*
\create folder structure
env=odir('opath')
env.add('opath',alias='core')
env.core.add('tests')
env.tests.add('env')
env.tests.add('env2')
测试自述文件')
env.core.write("\uuu init_uuuuuuuuy","w","uuuu version_uuu=\"1.0")
图:images/rmdirs\u example.gif?raw=true
:alt:rmdirs示例
rmdirs示例
代码::python
print(env.test.abspath)绝对路径
print(env.test.path)相对路径
代码::python将文件写入"test"文件夹
链式的使复杂的事情变得容易。普雷特太酷了!
…代码::python
'r')
d.stat().st_mtime)
关于链接方法的更好的文档很快就会与
菜谱一起出现。
基本用法
==
使用"add"创建文件夹。
代码::来自opath import的python
env.add('subfolder2')
env.print()
>;
*bin
*子文件夹1
*子文件夹2
代码::python
env=odir('bin')
env.add('subfolder1').add('subsubfolder')
env.print()
>;
*bin
*subfolder1
*subfolder
代码::python
env=odir('bin')
env.add('subfolder1').add('subfolder')
env.subfolder.write('my data','w')
代码::python
env=odir('bin')
env.add_file('myfile.txt',attr='myfile')
env.myfile.write('this is my data','w')
folders自动创建可访问的odir属性。可选的
属性名可以使用"alias="设置
…代码::python
env=odir('bin')
env.add('subfolder1')
env.subfolder1.add('misc')
env.subfolder1.misc.add('.hidden',alias='hidden')
env.subfolder1.misc.hidden.add('hiddenbin')
env.print()
*bin
||*misc
*.hidden("hidden")
*hiddenbin
默认情况下,属性被*推回到根目录。下面的
与上面的相同。
…代码::python
env=odir('bin')
env.add('subfolder1')
env.subfolder1.add('misc')
env.misc.add('.hidden',alias='hidden')
env.hidden.add('hidden bin')
env.print()
*bin
*子文件夹1
*misc
*hiddenbin
以及删除目录
=================
=========
根文件夹的位置可以通过``set_bin``
。代码::python
env.set-bin('../bin')
代码::python
env.mkdirs()
env_copy=env.cpdirs()
用链条固定在
一个衬垫中。
…代码::python返回一个链表对象
env.descendants();查找所有txt文件
env.descendants(包括@self=true).glob("*.txt")
| travis build图像::https://img.shields.io/travis/jvrana/oph.svg
:目标:https://travis ci.org/jvrana/oph
…|覆盖状态图像::https://coveralls.io/repos/github/jvrana/oph/badge.svg?branch=master
:目标:https://coveralls.io/github/jvrana/opath?分支=主
…| pypi版本image::https://badge.fury.io/py/repo.svg
:目标:https://badge.fury.io/py/repo
|许可证:mit image::https://img.shields.io/badge/license mit yellow.svg
:目标:https://opensource.org/licenses/mit
…| travis build图像::https://img.shields.io/travis/jvrana/oph/master.svg
:目标:https://travis ci.org/jvrana/oph/master
。| travis build image::https://img.shields.io/travis/jvrana/opath/development.svg
:目标:https://travis ci.org/jvrana/opath/development
。|覆盖状态图像::https://coveralls.io/repos/github/jvrana/oph/badge.svg?分支=开发
:目标:https://coveralls.io/github/jvrana/opath?分支=开发