0

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

然而,该import winreg语句阻止代码在 linux 下执行。

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

4

2 回答 2

2

曼努埃尔,万一你还没有找到解决方案,虽然我认为你做到了,但也许其他人可能会发现它很有用。

用以下代码围住代码:

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

或者:

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

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

于 2015-08-07T06:53:12.343 回答
0

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

winreg_exists = importlib.find_loader('winreg')
if winreg_exists:
    import winreg
...
if winreg_exists:
    # do winreg stuff
于 2017-08-21T06:55:59.970 回答