У меня есть текстовый входной файл с различными входными данными, как показано ниже, в формате словаря и списка соответственно. Часть текстового файла приведена ниже:
#Drive-Size-Mapping
{'root' : 50 , '\usr' : 20, 'swap' : 1}
#OS-Version
[7.1, 7.2, 7.3, 7.4, 7.5, 7.6]
Как видите, первая строка находится в формате словаря, а вторая строка — в формате списка. Теперь, когда я читаю и сохраняю строки в переменных, Python не распознает формат. Это мой код, который я пытаюсь:
f=open("C:\\Users\xyz\\Desktop\\Inputs.txt")
lines=f.readlines()
i = lines.index("#Drive-Size-Mapping\n")
di=dict()
di = lines[i+1]
print(di[0])
j = lines.index("#OS-Version\n")
list = lines[j+1]
print(list[0])
Код выше:
{ {
то есть он просто печатает элемент, который присутствует в первом индексе массива массива. Что я хочу, чтобы python интерпретировал эти переменные как словарь и список соответственно. Итак, если я сделаю print di["root"]
Мой код должен распознавать его как словарь и печатать как 50
. И print(list[0])
должен распознать его как список и вывести 7.1.
Пожалуйста, дайте мне знать, как следует манипулировать строками файла, чтобы python интерпретировал их в том формате, в котором они на самом деле присутствуют?
Благодарю вас
di = lines[i+1]
просто полностью перезаписываетdi = dict()
.index
всегда возвращает только первый встреченный экземпляр, поэтому он также не подходит для повторяющихся данных. - person roganjosh   schedule 16.04.2019