У меня есть файл Json, в котором содержится определенный каталог.Я пытаюсь написать что-то, что позволит пользователю входить и выходить из каждой «папки», создавая почти командную строку «проводник»
мой файл json отформатирован так:
{
"children": [
{
"children": [
{
"name": "somefile.cmd",
"path": "C:\\some\\directory\\somefile.cmd",
"type": "file"
},
{
"name": "otherfile.ps1",
"path": "C:\\some\\directory\\somefile.ps1",
"type": "file"
},
{
"name": "somefile.exe",
"path": "C:\\some\\directory\\somefile.exe",
"type": "file"
}
],
"name": "somefile",
"path": "C:\\some\\directory",
"type": "folder"
},
{
"children": [
.
.
.
Моя функция, которую я использую
def search_json(filename):
json_file = open(filename)
data = json.load(json_file)
subsyst_count = 1
subsyst_list = []
#list of subsystems
for i in data['children']:
print(subsyst_count, i['name'])
subsyst_list.append(i['name'])
subsyst_count = subsyst_count + 1
user = int(input('Which Subsystem?'))
#search json for children of subsyst_list[user]
print(subsyst_list[user])
for i in data['children']:
if i['name'] == subsyst_list[user]:
print(i['name'])
for j in i['name']:
print(j[0])
Я ожидаю, что она войдет в первую дочернюю папку, подсчитает все папки под ней и предложит пользователю выбрать номер, в какую подсистему войти.Затем я хотел, чтобы он выполнил поиск в этом новом каталоге «дочерней» подсистемы и снова указал, в какой файл перейти или какой файл выбрать.вместо этого он выдает ключевую ошибку, когда у меня есть
print(j['name'])
, а затем функция просто произносит имя подсистемы, когда у меня есть:
print(j['0'])