Содержание страницы
plistlib – Генерация и разбор .plist-файлов Mac OS X¶plistlib – Generate and parse Mac OS X .plist files
Этот модуль предоставляет интерфейс для чтения и записи XML-файлов «property list», используемых в основном в Mac OS X.
Формат файла property list (.plist) – это простой XML-сериализатор, поддерживающий базовые типы объектов, такие как словари, списки, числа и строки. Обычно объект верхнего уровня является словарём.
Значениями могут быть строки, целые числа, числа с плавающей точкой, булевы значения, кортежи, списки, словари (но только со строковыми ключами), объекты Data или datetime.datetime. Строковые значения (включая ключи словаря) могут быть строками Unicode – они будут записаны в кодировке UTF-8.
Тип plist <data> поддерживается через класс Data. Это тонкая обёртка вокруг строки Python. Используйте Data, если ваши строки содержат управляющие символы.
См. также
- Справочная страница PList <http://developer.apple.com/documentation/Darwin/Reference/ManPages/man5/plist.5.html>
- Документация 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.
Доступен следующий класс:
- class plistlib.Data(data)¶
Возвращает объект-обёртку «data» вокруг строки data. Используется в функциях преобразования из plist и в plist для представления типа <data>, доступного в plist-файлах.
Имеет один атрибут data, который можно использовать для получения хранящейся в нём строки Python.
Примеры¶Examples
Генерация 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 возможны, но не совсем удобны в использовании:
pl[u'\xc5benraa'] = "That was a unicode key."
writePlist(pl, fileName)
Разбор plist:
pl = readPlist(pathOrFile)
print(pl["aKey"])