我有一个当前支持 windows 和 linux 的 python 3 应用程序。我想构建一些需要我导入 winreg 的 Windows 特定功能。
然而,该import winreg
语句阻止代码在 linux 下执行。
如何在不破坏linux下代码的情况下使用winreg?
我有一个当前支持 windows 和 linux 的 python 3 应用程序。我想构建一些需要我导入 winreg 的 Windows 特定功能。
然而,该import winreg
语句阻止代码在 linux 下执行。
如何在不破坏linux下代码的情况下使用winreg?
曼努埃尔,万一你还没有找到解决方案,虽然我认为你做到了,但也许其他人可能会发现它很有用。
用以下代码围住代码:
if 'posix' in sys.builtin_module_names:
# *nix
...
或者:
if 'nt' in sys.builtin_module_names:
# Win
...
至少我曾多次在 python 2 中编写 x 平台应用程序。
尝试使用importlib
来测试是否winreg
存在。
winreg_exists = importlib.find_loader('winreg')
if winreg_exists:
import winreg
...
if winreg_exists:
# do winreg stuff