#python #dictionary #for-loop #key #text-files
#python #словарь #для-цикла #Клавиша #текстовые файлы
Вопрос:
Я новичок в python, поэтому извините мою глупость. Я пытаюсь выполнить итерацию по словарю, который находится в файле (.txt). Однако я хочу перебирать только ключи из словаря, а не значения. Я пытался часами, но не добился никакого прогресса. Спасибо за помощь.
kluizen = {
11;kaasstengel,
1;geheim,
5;kluisvanpietje,
12;z@terd@g
} #the number of a locker with the password afterwards.
f = open('fa_kluizen.txt', 'r')
contents = f.read()
print(contents)
for numbers in contents: print(numbers)
f.close()
Комментарии:
1.
for key in dictionary:
Если вы выполняете итерацию по словарю, вы получаете ключи.2. Поделитесь своими попытками (кодом) и образцом вашего файла
3. Отредактируйте свой пост при добавлении дополнительной информации, а не в комментарии и объясните, что к чему
4. Вы должны использовать двоеточия в вашем словаре, а не точки с запятой. Есть ли в импортируемом текстовом файле точки с запятой?
Ответ №1:
Попробуйте это:
import json
with open("path/to/file.txt", "r") as f:
# read the file as dictionary
file_as_dict = json.load(f)
# iterate over the keys
for key in file_as_dict:
print(key)
Ответ №2:
Этот файл не содержит словаря, поскольку вы не можете хранить буквально словарь Python в файле.
Но я согласен с вами, что это похоже на словарь в том смысле, что в нем информация организована в парах ключ-значение.
Вы заинтересованы в получении ключей оттуда: это номер ячейки.
mykeys = []
with open('fa_kluizen.txt', 'r') as fp:
for line in fp:
if ';' in line:
key, value = line.strip().split(';')
mykeys.append(key)
# now we have it in mykeys list
for key in mykeys:
print(key)
Пожалуйста, попробуйте это: