Я собираюсь ответить на то, что я думаю, что вы спрашиваете. Пожалуйста, поправьте меня, если я неправильно истолковываю!
Я полагаю, вы спрашиваете, как вы можете прочитать числа в вашем текстовом файле как целые числа. К сожалению, я не знаю полностью, какова цель или структура этого файла, но я собираюсь догадаться, что он отображает текст в скобках слева от символа @ на текст, находящийся в скобках, на справа от символа @. Для вашего примера файла кода это будет {'abc': 3, 'def': 'ghj'}
.
Чтобы сделать это, вы можете использовать python строковый метод .isdi git () и преобразовать в int, если он возвращает true, или вы можете просто попробовать исключить его с помощью ValueError, если вы считаете, что большинство значения будут целыми числами. Вот два подхода:
# PSEUDOCODE
file_dictionary = {}
for each line in file:
key = ...
value = ...
# HERE GOES SOLUTION 1 OR 2
РЕШЕНИЕ 1:
if value.isdigit():
file_dictionary[key] = int(value)
else:
file_dictionary[key] = value
РЕШЕНИЕ 2: (быстрее, если вы знаете, что большинство будет целыми числами, но медленнее, если наоборот)
try:
file_dictionary[key] = int(value)
except ValueError:
file_dictionary[key] = value
Если вы хотите отредактировать значение словаря, вы можете просто получить доступ к значению, которое вы хотите отредактировать, и присвоить ему другое значение. Пример: file_dictionary['abc'] = 3
Если вы хотите отредактировать ключ, вам нужно будет присвоить значение новому ключу и удалить старый. Пример:
file_dictionary = {'abd' = 3} # Create the dictionary
file_dictionary['abc'] = 3 # file_dictionary now = {'abc': 3, 'abd': 3}
file_dictionary.pop('abd') # file_dictionary now = {'abc': 3}