在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
答案 0 :(得分:3)
从导入表单使用时,必须在没有模块前缀的情况下调用函数。 只需通过名字调用函数和属性。
from webprofiles import *
for x in text:
a= match(x)
但我建议不要使用通配符('*')导入。 请改用:
from webprofiles import match
for x in text:
a= match(x)
答案 1 :(得分:1)
语法from x impoort *
意味着所有内容实际上都会导入到全局命名空间中。您想要的是import webprofiles
后跟webprofiles.match
或from webprofiles import *
,然后调用普通match
答案 2 :(得分:1)
只需导入webprofiles,而不是*:
import webprofiles
for x in text
a = webprofiles.match(x)
答案 3 :(得分:0)
你有什么在我看来2个文件,你想运行一个文件,导入其他文件中包含的方法:
import /webprofiles/init
init.match(x)
修改问题后:
import /webprofiles/__init__
__init__.match(x)
当你导入东西时btw:
import my_file #(file.py)
my_file.quick_sort(x)
^^^^^^你必须调用myfile,因为你通常称之为对象
from my_file import *
#that is read as from my_file import everything
#so now you can use the method quick_sort() without calling my_file
quick_sort(x)