Форум программистов, компьютерный форум, киберфорум
Наши страницы

Python

Войти
Регистрация
Восстановить пароль
 
DarkChirik
1 / 1 / 0
Регистрация: 23.06.2017
Сообщений: 72
#1

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

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

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

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

Вывод словаря - Python
Есть список и словарь, список в цикле пополняется ключами словаря и выводится значения под ключами из списка Например: keys = print...

Запись в файл словаря с несколькими значениями - Python
Моя тема была неделю назад вот здесь: http://www.cyberforum.ru/python/thread1246408.html. А это продолжение той же самой программы. ...

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

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

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

5
Semen-Semenich
244 / 236 / 132
Регистрация: 21.03.2016
Сообщений: 753
28.06.2017, 22:16 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
изучай
или изобретай велосипед
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
1 / 1 / 0
Регистрация: 23.06.2017
Сообщений: 72
28.06.2017, 22:46  [ТС] #3
Спасибо большое! Если позволите вопрос: что делают strip() и split()?
0
Рыжий Лис
Просто Лис
351 / 276 / 81
Регистрация: 17.05.2012
Сообщений: 1,124
Записей в блоге: 4
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
1 / 1 / 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)
0
Semen-Semenich
244 / 236 / 132
Регистрация: 21.03.2016
Сообщений: 753
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."
1
29.06.2017, 21:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2017, 21:31
Привет! Вот еще темы с ответами:

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

Вывод файла, ввод в файл новых строк и сохранение этого в файл - Java SE
у меня есть файл, с property и мне в него надо записать новые пары идентификатор = значение я наивно полагал что это будет работать, но...

Ввод\вывод в файл\из файла - C++
#include <fstream> #include <iostream> #include <stdio.h> #include <stdlib.h> #include <iomanip> #include <conio.h> #include...

Ввод из файла и вывод в файл - C++
#include<iostream> #include<iomanip> #include<ctime> #include<cstdlib> int main(){ const int n=6, m=7; int mat; ...


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

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

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