Является ли это предпочтительным способом определения, была ли установлена ​​версия cx_oracle в Юникоде или не в Юникоде? - PullRequest
1 голос
/ 10 февраля 2011

У меня есть пользовательский модуль, который по сути является тонкой оболочкой для соединения с базой данных с помощью cx_Oracle.Я хотел бы повторно использовать этот модуль на компьютерах как с установленной версией cx_Oracle в юникоде, так и с версией не в юникоде.

Для этого мне нужно «определить» установленную версию.Я мог бы "попытаться" установить соединение, используя дескриптор строкового соединения;и если я получу обратно TypeError, то предположим, что установлена ​​версия Unicode.Это кажется немного глупым.

Есть ли лучший / предпочтительный способ сделать это?

Спасибо.

1 Ответ

1 голос
/ 23 февраля 2011

Использование try ... except является совершенно подходящим способом для такого рода обнаружения. Тот же метод используется для написания переносимых приложений с использованием SQLITE, которые будут работать на более позднем 2.7 Python с SQLITE в библиотеке и более старом 2.4, где SQLITE был аддонным модулем с более загадочным именем.

...