| Кросс - платформенное программирование на языке Python в UNIX |
|
Хотя между разными UNIX-подобными операционными системами существуют некоторые значимые различия, но общего в них намного больше. Один из способов примирить различные версии *nix состоит в том, чтобы создавать кросс-платформенные инструменты и библиотеки, которые скрывают различия между операционными системами. Основной способ добиться этого - использовать условные инструкции, которые проверяют тип и версию операционной системы. Язык Python неизменно следует философии «батарейки входят в комплект поставки» и предоставляет инструменты для решения практически любой проблемы, с которой вы можете столкнуться. Для определения типа платформы, на которой выполняется ваш программный код, существует модуль platform. Давайте поближе познакомимся с основами использования этого модуля. Самый простой способ познакомиться с возможностями модуля platform - написать сценарий, который будет выводить всю доступную информацию о системе, как показано в примере 8.1. Пример 8.1. Использование модуля platform для получения информации о системе
Ниже приводится результат работы этого сценария в операционной системе OS X Leopard 10.5.2:
Этот пример позволяет получить представление о том, какого рода информация об операционной системе нам доступна. Следующий шаг на пути к созданию кросс-платформенного программного кода состоит в необходимости создать модуль fingerprint, который будет «брать отпечатки пальцев», определяя, на какой платформе, с каким номером версии он выполняется. В следующем примере мы «взяли отпечатки пальцев» у следующих операционных систем: Mac OS X, Ubuntu, Red Hat/CentOS, FreeBSD и SunOS. Взгляните на пример 8.2. Пример 8.2. Определение типа операционной системы
Теперь посмотрим, что выводит этот модуль при запуске на различных платформах.
Ubuntu:
Solarls 10 или SunOS:
FreeBSD:
Red Hat: Хотя в выводе этой команды не содержится ничего особенно интересного, но в действительности она предоставляет нам очень мощный инструмент. Этот простой модуль позволит нам писать кросс-платформенный программный код, так как мы, например, можем определить словарь с типами этих операционных систем и при нахождении соответствия выполнять соответствующий платформозависимый программный код. Одним из примеров получения самой ощутимой выгоды от использования приемов кросс-платформенного программирования могут служить сценарии, используемые для администрирования сети посредством применения ssh с ключами. В этом случае программный код может работать на многих платформах и давать непротиворечивые результаты.
Related Articles
Set as favorite
Bookmark
Email This
Hits: 327 Комментарии (0)RSS feed CommentsНаписать комментарий |