У меня есть этот код:Python работать со словарем, файлы
def merge_new_old_urls(urls_list, urls_file_path):
url_dict = {}
try:
with open(urls_file_path, "r") as f:
data = f.readlines()
for line in data:
#read what is already in file
url_dict = { line.split()[0]: int(line.split()[1])}
for new in urls_list:
for key in url_dict.keys():
if new == key:
print 'found'
url_dict[key] += 1
else:
url_dict[new] = 1
except IOError:
logging.critical('no files to read from %s' % urls_file_path)
raise IOError('no files to read from %s' % urls_file_path)
return url_dict
Это должно считывать данные из файла и объединить его с новым списком данных, подсчитывая, сколько раз повторялось. Файл со старым URLs выглядит следующим образом:
http://aaa.com 1
http://bbb.com 2
http://ccc.com 1
если новый список URL содержит http://aaa.comhttp://bbb.com ДИКТ должен быть:
'http://aaa.com':2
'http://bbb.com':3
'http://ccc.com':1
Но мой код не работает правильно. Может кто-нибудь исцелить?
Но мой код не работает правильно ... Что не так ?????? –
Пожалуйста, определите, что «не работает правильно». Это порождает неправильный вывод, не выводит, исключение, ... –
Почему вы сравниваете все ключи в словаре? Может ли словарь быстро найти метод? – Mark