Документация Python неофициальный перевод

ic.md

74 строк · 8.4 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.7/library/ic.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 37.1. [`ic`](https://python-all.ru/2.7/library/ic.html#module-ic) – Доступ к Internet Config в Mac OS X89Этот модуль предоставляет доступ к различным интернет-настройкам, задаваемым через **Системные настройки** или **Finder**.1011> **Примечание**12>13> Этот модуль был удалён в Python 3.x.1415Существует низкоуровневый сопутствующий модуль `icglue`, который предоставляет базовую функциональность доступа к Internet Config. Этот низкоуровневый модуль не документирован, но строки документации (docstrings) процедур описывают параметры, а имена процедур совпадают с именами в Pascal или C API к Internet Config, поэтому если нужен этот модуль, можно использовать стандартную документацию программистов IC.1617Модуль [`ic`](https://python-all.ru/2.7/library/ic.html#module-ic) определяет исключение [`error`](https://python-all.ru/2.7/library/ic.html#ic.error) и символьные имена для всех кодов ошибок, которые может генерировать Internet Config; подробности см. в исходном коде.1819#### `exception ic.error`2021Исключение, возбуждаемое при ошибках в модуле [`ic`](https://python-all.ru/2.7/library/ic.html#module-ic).2223Модуль [`ic`](https://python-all.ru/2.7/library/ic.html#module-ic) определяет следующий класс и функцию:2425#### `class ic.IC([signature[, ic]])`2627Создаёт объект Internet Config. Параметр signature – это 4-символьный код создателя текущего приложения (по умолчанию `'Pyth'`), который может влиять на некоторые настройки IC. Необязательный аргумент *ic* – это заранее созданный низкоуровневый `icglue.icinstance`; это может быть полезно, если нужно получить настройки из другого конфигурационного файла и т.д.2829#### `ic.launchurl(url[, hint])`3031#### `ic.parseurl(data[, start[, end[, hint]]])`3233#### `ic.mapfile(file)`3435#### `ic.maptypecreator(type, creator[, filename])`3637#### `ic.settypecreator(file)`3839Эти функции являются «ярлыками» к одноимённым методам, описанным ниже.4041## 37.1.1. Объекты IC4243Объекты [`IC`](https://python-all.ru/2.7/library/ic.html#ic.IC) имеют интерфейс отображения (mapping), поэтому для получения почтового адреса достаточно обратиться к `ic['MailAddress']`. Присваивание также работает и изменяет соответствующий параметр в конфигурационном файле.4445Модуль знает о различных типах данных и преобразует внутреннее представление IC в «логическую» структуру данных Python. Запуск модуля [`ic`](https://python-all.ru/2.7/library/ic.html#module-ic) как самостоятельной программы запустит тестовую программу, которая перечислит все ключи и значения в вашей базе данных IC – это можно использовать в качестве документации.4647Если модуль не знает, как представить данные, он возвращает экземпляр типа `ICOpaqueData` с необработанными данными в атрибуте `data`. Объекты этого типа также допустимы в качестве значений для присваивания.4849Помимо интерфейса словаря, объекты [`IC`](https://python-all.ru/2.7/library/ic.html#ic.IC) имеют следующие методы:5051#### `IC.launchurl(url[, hint])`5253Разбирает указанный URL, запускает соответствующее приложение и передаёт ему URL. Необязательный параметр *hint* может быть именем схемы, например `'mailto:'`; в этом случае неполные URL дополняются этой схемой. Если *hint* не указан, неполные URL считаются недопустимыми.5455#### `IC.parseurl(data[, start[, end[, hint]]])`5657Находит URL где-то в *data* и возвращает начальную позицию, конечную позицию и URL. Необязательные параметры *start* и *end* можно использовать для ограничения поиска; например, если пользователь щёлкает в длинном текстовом поле, можно передать всё текстовое поле и позицию щелчка в *start*, и эта процедура вернёт полный URL, на который щёлкнул пользователь. Как и выше, *hint* – необязательная схема для дополнения неполных URL.5859#### `IC.mapfile(file)`6061Возвращает запись отображения для указанного *file*, который может быть передан как имя файла или результат `FSSpec()`; файл не обязан существовать.6263Запись отображения возвращается в виде кортежа `(version, type, creator, postcreator, flags, extension, appname, postappname, mimetype, entryname)`, где *version* – номер версии записи, *type* – 4-символьный тип файла, *creator* – 4-символьный тип создателя, *postcreator* – 4-символьный код создателя необязательного приложения для постобработки файла после загрузки, *flags* – различные биты, определяющие, передавать в двоичном или текстовом виде и т.п., *extension* – расширение имени файла для этого типа, *appname* – читаемое имя приложения, которому принадлежит файл, *postappname* – имя приложения для постобработки, *mimetype* – MIME-тип этого файла и *entryname* – имя этой записи.6465#### `IC.maptypecreator(type, creator[, filename])`6667Возвращает запись отображения для файлов с заданными 4-символьными кодами *type* и *creator*. Необязательный параметр *filename* может быть указан для дополнительного уточнения правильной записи (например, если код создателя равен `'????'`).6869Запись отображения возвращается в том же формате, что и для *mapfile*.7071#### `IC.settypecreator(file)`7273Для существующего *file*, указанного как имя файла или результат `FSSpec()`, устанавливает его создателя и тип на основе расширения. Finder уведомляется об изменении, поэтому значок Finder обновится быстро.74