Как искать и создавать каталог json, используя python только для файлов определенного типа - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь создать дерево каталогов json для каталога, который существует на моем компьютере. но я бы хотел указать только тип, имя и путь для файлов .exe, .bat, .cmd. Я нашел его в Интернете, и он работает для создания целого каталога, но я хотел бы очистить его только для типов файлов.

Я пытался использовать «добрые слова», но это разрушает мой синтаксис json и оставляет много свободного пространства

def path_hierarchy(path):
    hierarchy = {
        'type': 'folder',
        'name': os.path.basename(path),
        'path': path,
    }

try:
    hierarchy['children'] = [
        path_hierarchy(os.path.join(path, contents))
        for contents in os.listdir(path)
    ]
except OSError as e:
    if e.errno != errno.ENOTDIR:
        raise
    hierarchy['type'] = 'file'

return hierarchy


if __name__ == '__main__':

    try:
        directory = sys.argv[1]
    except IndexError:
        directory = "."

    hierarchy = path_hierarchy(r"\mypath\") 
    with open('myjson.json', 'w') as outfile:
        json.dump(hierarchy, outfile, indent=2, sort_keys=True)

good_words = ['.exe', '.cmd', '.bat','},','{','[',']']   

with open('myjson.json') as oldfile, open('myjsonfixed.json', 'w') as newfile:
    for line in oldfile:
        if any(good_word in line for good_word in good_words):
            newfile.write(line.replace(dontwant,want))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...