2015-03-26 4 views
0

У меня есть приложение python 3, которое в настоящее время поддерживает windows и linux. Я хочу создать некоторые специальные функции для Windows, которые требуют, чтобы я импортировал winreg.импорт winreg при сохранении поддержки linux

Однако инструкция import winreg запрещает выполнение кода под Linux.

Как я могу использовать winreg, не нарушая код под linux?

ответ

1

Manuel, в случае, если вы еще не достигли решения, хотя я полагаю, что вы это сделали, но, возможно, кто-то может найти его полезным.

Забор код с:

if 'posix' in sys.builtin_module_names: 
    # *nix 
    ... 

или:

if 'nt' in sys.builtin_module_names: 
    # Win 
    ... 

По крайней мере, я сделал это несколько раз, пишущих х-платформенных приложений в Python 2.

0

Попробуйте использовать importlib для тест если winreg есть.

winreg_exists = importlib.find_loader('winreg') 
if winreg_exists: 
    import winreg 
... 
if winreg_exists: 
    # do winreg stuff