本文整理汇总了Python中datalad.distribution.dataset.Dataset.get方法的典型用法代码示例。如果您正苦于以下问题:Python Dataset.get方法的具体用法?Python Dataset.get怎么用?Python Dataset.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类datalad.distribution.dataset.Dataset
的用法示例。
在下文中一共展示了Dataset.get方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_get_subdatasets
# 需要导入模块: from datalad.distribution.dataset import Dataset [as 别名]
# 或者: from datalad.distribution.dataset.Dataset import get [as 别名]
def test_get_subdatasets(path):
ds = Dataset(path)
# one more subdataset with a name that could ruin config option parsing
dots = text_type(Path('subdir') / '.lots.of.dots.')
ds.create(dots)
eq_(ds.subdatasets(recursive=True, fulfilled=False, result_xfm='relpaths'), [
'sub dataset1'
])
ds.get('sub dataset1')
eq_(ds.subdatasets(recursive=True, fulfilled=False, result_xfm='relpaths'), [
'sub dataset1/2',
'sub dataset1/sub sub dataset1',
'sub dataset1/subm 1',
])
# obtain key subdataset, so all leaf subdatasets are discoverable
ds.get(opj('sub dataset1', 'sub sub dataset1'))
eq_(ds.subdatasets(result_xfm='relpaths'), ['sub dataset1', dots])
eq_([(r['parentds'], r['path']) for r in ds.subdatasets()],
[(path, opj(path, 'sub dataset1')),
(path, opj(path, dots))])
eq_(ds.subdatasets(recursive=True, result_xfm='relpaths'), [
'sub dataset1',
'sub dataset1/2',
'sub dataset1/sub sub dataset1',
'sub dataset1/sub sub dataset1/2',
'sub dataset1/sub sub dataset1/subm 1',
'sub dataset1/subm 1',
dots,
])
# redo, but limit to specific paths
eq_(
ds.subdatasets(
path=['sub dataset1/2', 'sub dataset1/sub sub dataset1'],
recursive=True, result_xfm='relpaths'),
[
'sub dataset1/2',
'sub dataset1/sub sub dataset1',
'sub dataset1/sub sub dataset1/2',
'sub dataset1/sub sub dataset1/subm 1',
]
)
with chpwd(text_type(ds.pathobj / 'subdir')):
# imitate cmdline invocation w/ no dataset argument
# -> curdir limits the query, when no info is given
eq_(subdatasets(dataset=None,
path=[],
recursive=True,
result_xfm='paths'),
[text_type(ds.pathobj / dots)]
)
# but with a dataset explicitly given, even if just as a path,
# curdir does no limit the query
eq_(subdatasets(dataset=os.pardir,
path=None,
recursive=True,
result_xfm='relpaths'),
['sub dataset1',
'sub dataset1/2',
'sub dataset1/sub sub dataset1',
'sub dataset1/sub sub dataset1/2',
'sub dataset1/sub sub dataset1/subm 1',
'sub dataset1/subm 1',
dots]
)
# uses slow, flexible query
eq_(ds.subdatasets(recursive=True, bottomup=True, result_xfm='relpaths'), [
'sub dataset1/2',
'sub dataset1/sub sub dataset1/2',
'sub dataset1/sub sub dataset1/subm 1',
'sub dataset1/sub sub dataset1',
'sub dataset1/subm 1',
'sub dataset1',
dots,
])
eq_(ds.subdatasets(recursive=True, fulfilled=True, result_xfm='relpaths'), [
'sub dataset1',
'sub dataset1/sub sub dataset1',
dots,
])
eq_([(relpath(r['parentds'], start=ds.path), relpath(r['path'], start=ds.path))
for r in ds.subdatasets(recursive=True)], [
(os.curdir, 'sub dataset1'),
('sub dataset1', 'sub dataset1/2'),
('sub dataset1', 'sub dataset1/sub sub dataset1'),
('sub dataset1/sub sub dataset1', 'sub dataset1/sub sub dataset1/2'),
('sub dataset1/sub sub dataset1', 'sub dataset1/sub sub dataset1/subm 1'),
('sub dataset1', 'sub dataset1/subm 1'),
(os.curdir, dots),
])
# uses slow, flexible query
eq_(ds.subdatasets(recursive=True, recursion_limit=0),
[])
# uses slow, flexible query
eq_(ds.subdatasets(recursive=True, recursion_limit=1, result_xfm='relpaths'),
['sub dataset1', dots])
# uses slow, flexible query
eq_(ds.subdatasets(recursive=True, recursion_limit=2, result_xfm='relpaths'),
[
'sub dataset1',
'sub dataset1/2',
#.........这里部分代码省略.........