Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
DarkChirik
2 / 2 / 0
Регистрация: 23.06.2017
Сообщений: 72
1

Ввод словаря в файл, вывод из файла

28.06.2017, 21:55. Просмотров 1330. Ответов 5

Как осуществить заполнение файла данными из словаря, так чтобы без проблем при случае из файла словарь заполнить и как правильно считывать из файла, а то у меня заполняется, но тип по факту str?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2017, 21:55
Ответы с готовыми решениями:

Вывод словаря
Помогите, пожалуйста советом! Есть простой словарь. Нужно вывести ключ и...

Вывод словаря
Есть список и словарь, список в цикле пополняется ключами словаря и выводится...

Запись словаря в файл
Как можно записать словарь в файл? Просто так словарь записать нельзя,...

Запись в файл словаря с несколькими значениями
Моя тема была неделю назад вот здесь:...

Создание csv файла в программе, и запись в него словаря
Программа должна создавать директорию, папку и файл формата csv в папке и...

5
Semen-Semenich
583 / 369 / 295
Регистрация: 21.03.2016
Сообщений: 1,118
28.06.2017, 22:16 2
Лучший ответ Сообщение было отмечено DarkChirik как решение

Решение

изучай
или изобретай велосипед
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
information = {'осуществить' : 'заполнение','файла' : 'данными','словарь' : 'заполнить'}
# записываем в файл
with open('dict.txt','w') as i:
    for key,val in information.items():
        i.write('{}:{}\n'.format(key,val))
# извлекаем из файла в новый словарь
 
nev = {}
with open('dict.txt') as inp:
    for i in inp.readlines():
        key,val = i.strip().split(':')
        nev[key] = val
print(nev)
 
{'осуществить': 'заполнение', 'файла': 'данными', 'словарь': 'заполнить'}
1
DarkChirik
2 / 2 / 0
Регистрация: 23.06.2017
Сообщений: 72
28.06.2017, 22:46  [ТС] 3
Спасибо большое! Если позволите вопрос: что делают strip() и split()?
0
Рыжий Лис
Просто Лис
1187 / 511 / 343
Регистрация: 17.05.2012
Сообщений: 2,066
Записей в блоге: 8
29.06.2017, 09:12 4
Цитата Сообщение от DarkChirik Посмотреть сообщение
Если позволите вопрос: что делают strip() и split()?
Документацию посмотреть?
Bash
1
2
3
4
5
6
>>> a = 'hj h j hj h    '
>>> a.strip()
'hj h j hj h'
>>> a.split(' ')
['hj', 'h', 'j', 'hj', 'h', '', '', '', '']
>>>
Добавлено через 1 минуту
Я ещё можно хранить в формате json. Почти без велосипедов.
1
DarkChirik
2 / 2 / 0
Регистрация: 23.06.2017
Сообщений: 72
29.06.2017, 19:17  [ТС] 5
Python 3.6.1
Из словаря в файл ввелось крокозябрами(вероятно кодировка):
Python
1
2
3
D = {'F':[1,2,3,4],'F1':[4,3,2,1]}
with open('pickle-first.txt', 'wb') as f:
    pickle.dump(D, f)
А вот из файла в словарь вообще выгружать отказался: пишет нужны атрибуты read или readline:
Python
1
2
with open('pickle-first.txt','rb') as f:
    D = pickle.load(D)
1
Semen-Semenich
583 / 369 / 295
Регистрация: 21.03.2016
Сообщений: 1,118
29.06.2017, 21:31 6
внимательней надо быть и смотреть из чего вы пытаетесь извлечь данные.
Python
1
2
3
4
5
6
7
8
9
10
11
import pickle
 
D = {'F':[1,2,3,4],'F1':[4,3,2,1]}
with open('pickle-first.txt', 'wb') as f:
    pickle.dump(D, f)
 
with open('pickle-first.txt','rb') as f:
    nev = pickle.load(f)
print(nev)
 
{'F': [1, 2, 3, 4], 'F1': [4, 3, 2, 1]}
и нет никаких проблем. ну а кракозябры- это же процесс преобразования объекта D в поток байтов вот и кракозябры

"Модуль pickle реализует мощный алгоритм сериализации и десериализации объектов Python. "Pickling" - процесс преобразования объекта Python в поток байтов, а "unpickling" - обратная операция, в результате которой поток байтов преобразуется обратно в Python-объект. Так как поток байтов легко можно записать в файл, модуль pickle широко применяется для сохранения и загрузки сложных объектов в Python."
2
29.06.2017, 21:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2017, 21:31

ввод-вывод
люди добрые, помогите:) нужно что бы программа читала все 70000 строк из файла...

Файловый ввод и вывод
Я написал программу для подсчёта среднего роста школьников в 11-классах: s1 =...

Ввод/вывод из консоли
Здравствуйте. Есть сторонняя библиотека с закрытым кодом, которая вызывает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru