如何在 __init__.py 中运行代码

1 投票
4 回答
2889 浏览
提问于 2025-04-17 06:25

src/webprofiles/__init__.py 文件里,我有以下内容:

def match(string)

现在我想从 `src/python.py` 文件里调用这个匹配,那个文件里包含:

from webprofiles import *

for x in text
    a= webprofiles.match(x)

但是它给我报错了。

NameError: global name 'webprofiles' is not defined

4 个回答

1

只需要导入 webprofiles,而不是 *。

import webprofiles

for x in text
    a = webprofiles.match(x)
1

这段代码 from x import * 的意思是把所有东西都导入到全局命名空间里。你其实想要的是先写 import webprofiles,然后再用 webprofiles.match,或者是写 from webprofiles import *,然后直接调用 match

3

当你使用“from import”这种方式时,你可以直接调用函数,而不需要加上模块的前缀。也就是说,你可以直接用函数的名字来调用它们。

from webprofiles import *

for x in text:
    a= match(x)

不过我建议不要使用通配符('*')导入。可以用下面这种方式:

from webprofiles import match

for x in text:
    a= match(x)

撰写回答