从带有连字符名称的模块导入功能

时间:2019-03-26 09:44:24

标签: python function module

我无法从名称中带有“-”的模块导入功能。我们必须以特定的名称保存模块,因此我不能更改名称。 那么我应该如何导入它:

from surname-funkcije import izris_kvadrata, NSVN, NSV1

我知道如何导入模块,应该是这样的:

surname_funkcije = __import__("surname-funkcije")

但是功能如何?

2 个答案:

答案 0 :(得分:0)

那是非法的模块名称。只需更改模块的名称即可。

答案 1 :(得分:0)

在python 3.7上,给surname-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