一尘不染

名称中带有破折号或连字符(-)的Python模块

python

我有一个名称为dash的现有python模块foo-bar.py

我希望避免更改模块名称,因为该模块是共享的,我将不得不追踪所有使用该模块的位置,以便我的特殊情况能够起作用。

有没有办法加载名称包含通常被禁止的“-”的模块?

(我确实知道这不是最佳实践。但是,在这种情况下,我宁愿不要重新设计和测试更多的应用程序。而且,我不认为我的公司老板会赞成我花时间实施这样的变化。)


阅读 194

收藏
2020-12-20

共1个答案

一尘不染

您可以使用来做到这一点__import__()。例如:

foobar = __import__("foo-bar")

但是,您实际上应该重命名模块。这样,当模块的文件名与程序中使用的标识符不同时,您可以避免混淆。

2020-12-20