名称中带有破折号或连字符 (-) 的 Python 模块
- 2025-03-18 08:55:00
- admin 原创
- 36
问题描述:
我有一个现有的 python 模块,其名称中带有破折号,foo-bar.py
由于模块是共享的,因此我希望避免更改模块名称,并且我必须追踪所有使用它的地方,以便我的特殊情况能够起作用。
有没有办法加载名称中包含通常禁止的“-”的模块?
(我确实知道这不是最佳做法。但对于这种情况,我宁愿不重新设计和测试更大的应用程序集。此外,我认为我的公司老板不会同意我花时间实施这样的改变。)
解决方案 1:
你可以使用 来实现__import__()
。例如:
foobar = __import__("foo-bar")
但你确实应该重命名模块。这样可以避免模块文件名与程序中使用的标识符不同的混淆。
解决方案 2:
我知道这个问题已经得到令提问者满意的答复,但这里还有另一个答案,我认为它比使用更有价值__import__()
。
import importlib
mod = importlib.import_module("path.to.my-module")
# mod.yourmethod()
根据文档:
"This provides an implementation of import which is portable to any
Python interpreter. This also provides an implementation which is
easier to comprehend than one implemented in a programming language
other than Python."
Python 2.7
+ 仅限
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD