Spec-Zone.ru › Python 2.7

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API