Нет родного типа данных, о котором я знаю.Обратите внимание, что структура каталогов - довольно простая древовидная структура.Если вам нужно нечто большее, чем просто листинг дерева, я бы порекомендовал создать собственные объекты Directory и File.Позвольте вашему объекту Directory действовать как dict
, и вы сможете делать такие вещи, как root['etc']['ssh']['config']
.
Если вам просто нужна простая древовидная структура, рассматривали ли вы просто использование вложенных dict
s?
root = {
'etc': {
'passwd': None,
'shadow': None,
'ssh': {
'config': None}
},
'lib': {
}
}
Я использую None в качестве значения данных для конечного узла, но вы можете хранить метаданные файла там, если хотите.Навигация по древовидной структуре очень проста.Список /etc
- это всего лишь root['etc'].keys()
.
Наконец-то, время любимой собаки.«Я всегда ищу более питонские способы делать вещи» Что это значит?Совершенно разумно искать идеи / советы / рекомендации, но в конце концов, парень с рабочим кодом побеждает.В этом случае «питонический способ делать вещи» - просто делать это.В Python, конечно:)