У меня есть настраиваемый модуль, который в основном представляет собой тонкую оболочку вокруг соединения с базой данных cx_Oracle. Я хотел бы повторно использовать этот модуль на компьютерах с установленной как unicode версией cx_Oracle, так и с версией, отличной от юникода.
Для этого мне нужно "обнаружить" установленную версию. Я мог бы "попытаться" создать соединение, используя дескриптор строкового соединения; и если я получу TypeError назад, тогда предположим, что установлена версия Unicode. Это просто немного клочья.
Есть ли лучший/предпочтительный способ сделать это?
Спасибо.
Использование try
... except
- вполне подходящий способ для такого обнаружения. Тот же метод используется для написания переносимых приложений с использованием SQLITE, которые будут работать на более поздних версиях 2,7 Python с SQLITE в библиотеке и старше 2.4, где SQLITE был модулем аддона с более загадочным именем.