def flat(parts):
if isinstance(parts, str):
if os.path.isabs(parts):
raise ValueError('Path must be relative. '
'[{}]'.format(parts))
yield parts
elif isinstance(parts, PurePath):
if parts.is_absolute():
raise ValueError('Path must be relative. '
'[{}]'.format(parts))
yield parts
elif isinstance(parts, (list, tuple)):
for p in parts:
yield from flat(p)
else:
raise TypeError(
'Key must be relative path [str or Path]. '
'But {}'.format(parts))
评论列表
文章目录