Python 如何提供特定于平台的模块实现?

Python 如何提供特定于平台的模块实现?,python,Python,我需要通过提供多个实现使模块平台中的一个函数独立,而不更改导入它的任何文件。以下工作: do\u it=getattr(\uu导入\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu …但如果模块放入包中,则会断开 另一种方法是if/elif,它通过硬编码调用do_it()中的其他函数 还有更好的吗?将平台支持代码放在包中的不同文件中。然后将其添加到人们应该从中导入的文件中:

我需要通过提供多个实现使模块平台中的一个函数独立,而不更改导入它的任何文件。以下工作:

do\u it=getattr(\uu导入\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

…但如果模块放入包中,则会断开

另一种方法是if/elif,它通过硬编码调用do_it()中的其他函数


还有更好的吗?

将平台支持代码放在包中的不同文件中。然后将其添加到人们应该从中导入的文件中:

if sys.platform.startswith("win"):
    from ._windows_support import *
elif sys.platform.startswith("linux"):
    from ._unix_support import *
else:
    raise ImportError("my module doesn't support this system")

使用
globals()

提供了例外选项。

链接已断开。你能换一个吗?