我有一個腳本,將任何給定的文件夾結構變成JSON,JSTree兼容的結構。但是,子文件夾全部分組在一個孩子級別下。因此,文件夾內的文件夾被標記爲根目錄下的一個級別。我如何在JSON中維護根子/子 - 子關係?Python子文件夾結構與兒童JSON
import os, sys, json
def all_dirs_with_subdirs(path, subdirs):
try:
path = os.path.abspath(path)
result = []
for root, dirs, files in os.walk(path):
exclude = "Archive", "Test"
dirs[:] = [d for d in dirs if d not in exclude]
if all(subdir in dirs for subdir in subdirs):
result.append(root)
return result
except WindowsError:
pass
def get_directory_listing(path):
try:
output = {}
output["text"] = path.decode('latin1')
output["type"] = "directory"
output["children"] = all_dirs_with_subdirs("G:\TEST", ('Maps', 'Temp'))
return output
except WindowsError:
pass
with open(r'G:\JSONData.json', 'w+') as f:
listing = get_directory_listing("G:\TEST")
json.dump(listing, f)
我該如何才能夠顯示包含文件夾「地圖」和「溫度」的文件夾/子文件夾?您的代碼確實排除了「歸檔」和「測試」,但我正在尋找一種方法來確保只包含某些文件夾。 – Infinity8