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()
提供了例外选项。链接已断开。你能换一个吗?