Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/75: Рейтинг темы: голосов - 75, средняя оценка - 4.69
2 / 1 / 1
Регистрация: 15.11.2018
Сообщений: 17

Запись в словарь данных из файла

20.12.2018, 07:11. Показов 14312. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, создаю проект, и столкнулся с проблемой сохранения данных профилей игроков.

При изменении какого-либо параметра (деньги, транспорт, дом и др.) вызывается функция, сохраняющая в специальные файлы данные профиля игрока. И, когда на сервере возникнет проблема, будь то отключение сервера или пропало соединение с интернетом, нужно в переменные-словари добавить новое значение из файла, в котором сохранены соответствующие характеристики всех игроков.


Python
1
2
3
4
5
6
dic={"player":"parameter"};
print(str(dic));
file=open("file.txt","w");
file.write(str(dic));
file=open("file.txt","r");
f={file.read()};print(f);
После того, как создаётся словарь f с содержимым файла, в котором записаны данные словаря dic, каким-то "магическим" образом в словаре f записан только ключ, но его название - это содержимое файла.


Как записать в словарь значение файла не ключом, а ключами и их значениями, как было в словаре dic?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.12.2018, 07:11
Ответы с готовыми решениями:

Чтение данных из текстового файла в словарь
Здравствуйте, помогите с кодом. Нужно считать из текстового файла данные в словарь Dictionary <string, int> Можно использовать...

«Создание файла. Запись и чтение данных. Запись и чтение блоков данных из файла» Переделайте на с С++ на С
#include<iostream> #include<ctime> #include<fstream> #include<random> using namespace std; int main() { ofstream...

Как сделать вывод данных из файла в словарь по нажатию кнопки?
нужно вывести имя игрока и его результат из файла форматом .txt d словарь(где на первом месте key,а на втором value) на первом месте...

4
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
20.12.2018, 10:12
Цитата Сообщение от Ruslan1818 Посмотреть сообщение
Как записать в словарь значение файла не ключом, а ключами и их значениями, как было в словаре dic?
чего?
Файл текстовый. Поэтому записать в него можно только текст, прочитать из него можно только текст. Поэтому это вы должно позаботиться о структуре ваших данных перед записью в файл, а после чтения сделать парсинг данных из файла.
Может удобнее хранить данные не в .txt, а например xml, где каждый игрок - элемент. Элементы могут иметь свои атрибуты и вложенные элементы.
XML
1
2
3
4
<players>
    <player name="name1"/>
    <player name="name2"/>
</players>
XML файлы удобно создавать и парсить, например, с помощью библиотеки lxml.
0
2 / 1 / 1
Регистрация: 02.11.2018
Сообщений: 38
20.12.2018, 10:50
Лучший ответ Сообщение было отмечено Ruslan1818 как решение

Решение

Ruslan1818, если проект простой, можно использовать библиотеку pickle, сохранит данные в файл как надо
1
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
20.12.2018, 14:56
если хочется костылей то можно но это как пример, при большой вложенности сложности с разбором будет больше.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
dic = {
            "player":'parameter_1, parameter_2',
            "player_1" : 'parameter_1, parameter_2, parameter_3',
            "player_3" : 'parameter_1'
       }
 
file = open("file.txt","w")
for k,v in dic.items():
    file.write(f'{k}*{v}\n')
file.close()
    
dic_1 = {}
 
file=open("file.txt","r")
for i in file.readlines():
    data = i.strip().split('*')
    dic_1[data[0]] = ''.join(data[1:])
print(dic_1)
Python
1
{'player': 'parameter_1, parameter_2', 'player_1': 'parameter_1, parameter_2, parameter_3', 'player_3': 'parameter_1'}
а по нормальному вам посоветовали выше
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
22.12.2018, 09:41
А ещё dict можно хранить как json в файле, если данных немного.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2018, 09:41
Помогаю со студенческими работами здесь

Как сделать вывод данных из файла в словарь по нажатию кнопки?
Есть файл results.txt в котором на первом месте стоит имя игрока,а на втором его результат. Как вывести данные из файла в словарь по...

Считать из .txt файла слова и записать их в словарь, который использует сохранение данных в виде Tree
Написать консольное приложение, которое при старте читает текстовый файл (словарь) и записывает слова в словарь, который использует для...

Как сделать так ,чтобы при пустом файле(код для считывания данных из файла в словарь) не выдавало ошибку?
есть файл из которого данные считываются в словарь,но если файл пустой то выдает ошибку при клике на кнопку! Нужно сделать,чтобы при...

Запись данных, получаемых при обработке заданного файла, в текстовый файл с именем обрабатываемого файла
Пожалуйста помогите не разбирающемуся в бейсике имеется скрипт vbs ссылающийся на exe файл который подсчитывает контрольную сумму. ...

Считывание данных из текстового файла и их запись в структурированный файл, сортировка данных в двоичном файле
Файлы: В текстовом файле находится информация о рейсах самолетов (электронное расписа-ние рейсов). Каждая запись в расписании имеет...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru