在保留linux支持的同时导入winreg

时间:2015-03-26 21:40:18

标签: python python-3.x winreg

我有一个python 3应用程序,目前支持windows和linux。我想构建一些特定于Windows的功能,这需要我导入winreg。

import winreg语句阻止代码在linux下执行。

如何在不破坏Linux下的代码的情况下使用winreg?

2 个答案:

答案 0 :(得分:1)

曼努埃尔,如果​​你还没有达到解决方案,虽然我认为你做了,但也许其他人可能觉得它很有用。

用以下代码围绕代码:

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

或:

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

至少我曾多次在python 2中编写x-platform应用程序。

答案 1 :(得分:0)

尝试使用importlib来测试winreg是否存在。

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