Это более или менее обратный вопрос к Список структуры дерева каталогов в python? и этот ответ https://stackoverflow.com/a/51991554/7422721
Учитывая, что у нас есть дерево каталогов стиля художественного текста (ASCII(но не ограничиваясь ими), сгенерированный как вывод программы tree
или эквивалентного сценария Python:
a/
├── b/
│ └── c/
│ ├── file_1
│ └── file_2
└── d/
Каждое имя файла заканчивается одним из '/', '=', '*', '@', '|' or '>'
, указывающим тип файла, как и ls -F
или tree -F
конвенция.Таким образом, имя файла, оканчивающееся на /
, будет каталогом, =
для сокета и т. Д. Если нет конца, мы предполагаем, что это обычный файл.
Как я могу прочитать это обратно в собственную структуру данных,например:
[
"a": [
"b": [
"c": [
"file_1", "file_2"
]
],
"d": []
]
]
Или к другому объекту, который может быть представлен в файловой системе памяти?
Целью здесь будет создание читаемых модульных тестов для скрипта, который манипулирует файлами на диске.