快速生成文件和目录结构。
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