plistlib — Генерация и парсинг файлов Mac OS X .plist
Изменено в версии 2.6: Этот модуль ранее был доступен только в библиотеке, специфичной для Mac, теперь он доступен для всех платформ.
Исходный код: Lib/plistlib.py
Этот модуль предоставляет интерфейс для чтения и записи XML-файлов «списка свойств», используемых в основном Mac OS X.
Формат файла списка свойств (.plist) — это простой XML-pickle, поддерживающий базовые типы объектов, такие как словари, списки, числа и строки. Обычно верхний уровень объекта — это словарь.
Значения могут быть строками, целыми числами, числами с плавающей точкой, булевыми значениями, кортежами, списками, словарями (но только со строковыми ключами), Data или datetime.datetime объектами. Строковые значения (включая ключи словаря) могут быть строками Unicode — они будут записаны как UTF-8.
Тип plist <data> поддерживается через класс Data. Это тонкий обертка вокруг Python-строки. Используйте Data, если ваши строки содержат управляющие символы.
См. также
- Страница руководства PList
-
Документация Apple по формату файла.
Этот модуль определяет следующие функции:
-
plistlib.readPlist(pathOrFile) -
Чтение файла plist. pathOrFile может быть именем файла или (читаемым) объектом файла. Возвращает распакованный корневой объект (который обычно является словарем).
XML-данные парсятся с помощью парсера Expat из
xml.parsers.expat— см. его документацию для возможных исключений при неправильной форме XML. Неизвестные элементы просто игнорируются парсером plist.
-
plistlib.writePlist(rootObject, pathOrFile) -
Запись rootObject в файл plist. pathOrFile может быть именем файла или (записываемым) объектом файла.
Будет возбуждено исключение
TypeError, если тип объекта не поддерживается или контейнер содержит объекты неподдерживаемых типов.
-
plistlib.readPlistFromString(data) -
Чтение plist из строки. Возвращает корневой объект.
-
plistlib.writePlistToString(rootObject) -
Возвращает rootObject в виде строки в формате plist.
-
plistlib.readPlistFromResource(path, restype='plst', resid=0) -
Чтение plist из ресурса типа restype из ресурсного раздела path. Доступность: Mac OS X.
Примечание
В Python 3.x эта функция была удалена.
-
plistlib.writePlistToResource(rootObject, path, restype='plst', resid=0) -
Запись rootObject в виде ресурса с типом restype в ресурсный раздел path. Доступность: Mac OS X.
Примечание
В Python 3.x эта функция была удалена.
Доступен следующий класс:
-
class plistlib.Data(data) -
Возвращает объект-обертку «данных» вокруг строки data. Используется в функциях преобразования из/в plist для представления типа
<data>, доступного в plist.Он имеет один атрибут,
data, который можно использовать для извлечения хранящейся в нём Python-строки.
1. Примеры
Генерация plist:
pl = dict(
aString="Doodah",
aList=["A", "B", 12, 32.1, [1, 2, 3]],
aFloat = 0.1,
anInt = 728,
aDict=dict(
anotherString="<hello & hi there!>",
aUnicodeValue=u'M\xe4ssig, Ma\xdf',
aTrueValue=True,
aFalseValue=False,
),
someData = Data("<binary gunk>"),
someMoreData = Data("<lots of binary gunk>" * 10),
aDate = datetime.datetime.fromtimestamp(time.mktime(time.gmtime())),
)
# unicode keys are possible, but a little awkward to use:
pl[u'\xc5benraa'] = "That was a unicode key."
writePlist(pl, fileName)
Парсинг plist:
pl = readPlist(pathOrFile) print pl["aKey"]
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/plistlib.html