在Python中,如果两个模块具有相同的名称,将导入哪个模块?

在Python中,如果两个模块具有相同的名称,将导入哪个模块?,python,Python,我在网上找不到任何直接的答案。它会使用最接近试图导入它的文件的文件吗?有什么优先权制度吗?或者它只是返回一个错误?感谢@SYngard的建议,我发现导入的模块将是与试图按名称导入模块的文件最接近的模块(就文件路径而言)。作为一个调试想法,请创建两个同名的模块。导入时,让每个模块打印其路径。然后将它们放在本地文件夹、python路径等中,看看首先导入的是什么!还有一个相关的问题:这是否回答了你的问题@SNygard我试过了,成功了!显然,它使用了与试图导入的文件最接近的模块。

我在网上找不到任何直接的答案。它会使用最接近试图导入它的文件的文件吗?有什么优先权制度吗?或者它只是返回一个错误?

感谢@SYngard的建议,我发现导入的模块将是与试图按名称导入模块的文件最接近的模块(就文件路径而言)。

作为一个调试想法,请创建两个同名的模块。导入时,让每个模块打印其路径。然后将它们放在本地文件夹、python路径等中,看看首先导入的是什么!还有一个相关的问题:这是否回答了你的问题@SNygard我试过了,成功了!显然,它使用了与试图导入的文件最接近的模块。