Python 使用连字符名称从模块导入函数
我无法从名称中带有“-”的模块导入函数。我们必须以特定的名称保存模块,因此我不能更改名称。 那么,我应该如何导入这个:Python 使用连字符名称从模块导入函数,python,function,module,Python,Function,Module,我无法从名称中带有“-”的模块导入函数。我们必须以特定的名称保存模块,因此我不能更改名称。 那么,我应该如何导入这个: from surname-funkcije import izris_kvadrata, NSVN, NSV1 我知道如何导入模块,应该是这样的: surname_funkcije = __import__("surname-funkcije") 但是它的功能如何?这是一个非法的模块名。只需更改模块的名称。在python 3.7上,给定姓氏funkcije.py,内容如下:
from surname-funkcije import izris_kvadrata, NSVN, NSV1
我知道如何导入模块,应该是这样的:
surname_funkcije = __import__("surname-funkcije")
但是它的功能如何?这是一个非法的模块名。只需更改模块的名称。在python 3.7上,给定
姓氏funkcije.py
,内容如下:
NSVN = 42
NSV1 = 'I do not know what this is'
def izris_kvadrata(a, b):
return a+b
您可以这样导入和使用所述模块:
import importlib
m = importlib.import_module('surname-funkcije')
izris_kvadrata, NSVN, NSV1 = m.izris_kvadrata, m.NSVN, m.NSV1
help(izris_kvadrata)
c = izris_kvadrata(NSVN, 6)
print("NSVN = {}; NSV1 = {}".format(NSVN, NSV1))
print("c = {}".format(c))
这给了我这样的输出:
Help on function izris_kvadrata in module surname-funkcije:
izris_kvadrata(a, b)
NSVN = 42; NSV1 = I do not know what this is
c = 48
这太傻了。在Python中,您不可能“必须”为模块指定一个非法的名称。用一个合适的名字。我知道,但是我的老师坚持名字应该是这样的。那现在就找一个新老师。坚持Python中不允许的东西的老师是毫无价值的。告诉你的管理层,他们的规则违反了他们希望你使用的语言的语法。这显然是为另一种编程语言制定的规则,这种语言在其参考框架之外被盲目而愚蠢地应用。可能的重复:我很好奇“我们必须以特定的名称保存模块”