在保留 linux 支持的同时导入 winreg
import winreg while retaining linux support
我有一个 python 3 应用程序,目前支持 windows 和 linux。我想构建一些 windows 特定功能,这需要我导入 winreg。
但是 import winreg
语句阻止代码在 linux 下执行。
如何在不破坏 linux 下的代码的情况下使用 winreg?
Manuel,如果您还没有找到解决方案,尽管我认为您已经找到了,但也许其他人会发现它有用。
使用以下代码围栏代码:
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
我有一个 python 3 应用程序,目前支持 windows 和 linux。我想构建一些 windows 特定功能,这需要我导入 winreg。
但是 import winreg
语句阻止代码在 linux 下执行。
如何在不破坏 linux 下的代码的情况下使用 winreg?
Manuel,如果您还没有找到解决方案,尽管我认为您已经找到了,但也许其他人会发现它有用。
使用以下代码围栏代码:
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