快速生成文件和目录结构。

treeshape的Python项目详细描述


treeshape允许您在磁盘上快速创建文件和目录结构。

例如:

from treeshape import (
    CONTENT,
    make_tree,
    PERMISSIONS,
    )

make_tree('.', {
    'logs/': None,
    'README': {CONTENT: "A simple directory layout\n"},
    'data/input': {CONTENT: "All of our input data\n"},
    'bin/script': {CONTENT: "#!/bin/sh\necho 'Hello'\n", PERMISSIONS: 0755},
    })

将创建如下所示的目录结构:

$ find .
.
./logs
./data
./data/input
./README
$ cat README
A simple directory layout
$ cat data/input
All of our input data

这对于接触磁盘的测试特别有用。

如果显式不是你真正想要的,你也可以创建相同的 目录结构来自一个粗略的规范:

from treeshape import (
    from_rough_spec,
    make_tree,
    )

make_tree('.', from_rough_spec([
    'logs/',
    ('README', "A simple directory layout\n"),
    ('data/input', "All of our input data\n"),
    ('bin/script', "#!/bin/sh\necho 'Hello'\n", 0755),
    ]))

这也是作为Fixture提供的(请参见python-fixtures)。因此,如果你 正在使用testtools,那么您也可以在测试期间执行此操作:

def test_a_thing(self):
    self.useFixture(FileTree(from_rough_spec([
        'logs/',
        ('README', "A simple directory layout\n"),
        ('data/input', "All of our input data\n"),
        ])))
    # your test here

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

推荐PyPI第三方库


热门话题
在JAVA中,将十六进制转换为十进制,将十进制转换为时间戳   无法识别java子类构造函数   java JavaFx将两个“setOnAction”设置为同一个按钮   java重载的StringBuilder insert()以及偏移量和索引之间的差异   java调试异常初始化错误   带有可插拔组件的应用程序的面向对象设计中的java问题   java中mysql的Socket编程   java NetBeans平台和TinyLaF 1.4.0   java Sql server 2005知道插入了新记录   java正则表达式如何匹配2个任意但不同的字符   java如何在两个类之间使用double?   java我可以使用嵌套的rest webservice或在webservice中打开链接吗   java如何将Swagger与Maven+Jersey+jboss EAP 6.2集成   java无法更新视图寻呼机中的中间片段。   安卓中的java For循环会在项目之间创建间隙   具有重复模式的java正则表达式   用于Swagger的java GraphQL扩展   基于Android Fonttype在纯Java中查找精确的Fonttype   Java字符串返回方法不返回