小编典典

当模块名称中包含“-”破折号或连字符时如何导入模块?

all

我想导入 foo-bar.py。这有效:

foobar = __import__("foo-bar")

这不会:

from "foo-bar" import *

我的问题:有什么方法可以使用上述格式,即from "foo-bar" import *导入其中包含的模块-


阅读 89

收藏
2022-05-04

共1个答案

小编典典

你不能。 foo-bar不是标识符。将文件重命名为foo_bar.py

编辑:
如果import不是您的目标(例如:您不在乎发生了什么sys.modules,您不需要它自己导入),只需将所有文件的全局变量放入您自己的范围内,您就可以使用execfile

# contents of foo-bar.py
baz = 'quux'



>>> execfile('foo-bar.py')
>>> baz
'quux'
>>>
2022-05-04