如何在Python 3中导入与__main__程序同名的模块?

时间:2019-08-19 16:09:22

标签: python python-3.x python-import python-3.7

我研究了许多类似问题的答案(打开同名的模块很简单),但没有找到如何打开与__main__程序相同文件名的模块的答案。

让我们看看我的代码树(为此简化了代码):

<source root>
  log_parser/
    log_parser.py (module to import)
  my_system/ 
    log_parser/
      log_parser.py (__main__)

正如您在树上看到的那样,我要导入log_parser/log_parser<source root>已添加到路径。

Python首先将当前路径添加到路径。我发现我可以从导入路径中排除当前路径,并且可以正常工作。有没有其他的解决方案和更多的pythonic?

<other imports>

sys.path = sys.path[1:]

from log_parser.log_parser import LogParser

如何在没有像sys.path = sys.path[1:]del sys.path[0]这样的猴子的情况下导入?

我可以重命名模块,但我不想使用丑陋且太长的名称,例如my_system_log_parser.my_system_log_parser

0 个答案:

没有答案