М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет158/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   154   155   156   157   158   159   160   161   ...   334
Байланысты:
Изучаем Python


Глава 10 • Файлы и исключения
ПРИМЕЧАНИЕ
Формат JSON (JavaScript Object Notation) был изначально разработан 
для JavaScript . Впрочем, с того времени он стал использоваться во многих языках, вклю-
чая Python .
Функции json .dump() и json .load()
Напишем короткую программу для сохранения набора чисел и другую программу, 
которая будет читать эти числа обратно в память. Первая программа использует 
функцию 
json.dump()
, а вторая — функцию 
json.load()
.
Функция 
json.dump()
получает два аргумента: сохраняемые данные и объект фай-
ла, используемый для сохранения. В следующем примере 
json.dump()
используется 
для сохранения списка чисел:
number_writer.py
import json
numbers = [2, 3, 5, 7, 11, 13]

filename = 'numbers.json'

with open(filename, 'w') as f:

json.dump(numbers, f)
Программа импортирует модуль 
json
и создает список чисел для работы. В точ-
ке 

выбирается имя файла для хранения списка. Обычно для таких файлов при-
нято использовать расширение 
.json
, указывающее, что данные в файле хранятся 
в формате JSON. Затем файл открывается в режиме записи, чтобы модуль 
json
мог записать в него данные 

. В точке 

функция 
json.dump()
используется для 
сохранения списка 
numbers
в файле 
numbers .json
.
Программа ничего не выводит, но давайте откроем файл 
numbers .json
и посмотрим 
на его содержимое. Данные хранятся в формате, очень похожем на код Python:
[2, 3, 5, 7, 11, 13]
А теперь напишем следующую программу, которая использует 
json.load()
для 
чтения списка обратно в память:
number_reader.py
import json

filename = 'numbers.json'

with open(filename) as f:

numbers = json.load(f)
print(numbers)
В точке 

для чтения данных используется тот же файл, в который эти данные 
были записаны. На этот раз файл открывается в режиме чтения, потому что Python 


Сохранение данных
217
нужно только прочитать данные из файла 

. В точке 

функция 
json.load()
ис-
пользуется для загрузки информации из 
numbers .json
; эта информация сохраняется 
в переменной 
numbers
. Наконец, программа выводит прочитанный список. Как 
видите, это тот же список, который был создан в программе 
number_writer .py
:
[2, 3, 5, 7, 11, 13]
Модуль 
json
позволяет организовать простейший обмен данными между про-
граммами.
Сохранение и чтение данных, сгенерированных пользователем
Сохранение с использованием модуля 
json
особенно полезно при работе с данны-
ми, сгенерированными пользователем, потому что без сохранения эта информа-
ция будет потеряна при остановке программы. В следующем примере программа 
запрашивает у пользователя имя при первом запуске программы и «вспоминает» 
его при повторных запусках.
Начнем с сохранения имени пользователя:


Достарыңызбен бөлісу:
1   ...   154   155   156   157   158   159   160   161   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет