NameError: 名称 ‘re’ 未在 Python 中定义
NameError: name ‘re’ is not defined in Python
Python“NameError: name ‘re’ is not defined”发生在我们使用re
模块而不先导入它时。要解决错误,请re
在使用之前导入模块 – import re
。
下面是错误如何发生的示例。
主程序
# ⛔️ NameError: name 're' is not defined prog = re.compile(r'\w+') result = prog.match('hello world 123') print(result)
为了解决这个错误,我们必须导入
re模块。
主程序
# ✅ import re module first import re prog = re.compile(r'\w+') result = prog.match('hello world 123') print(result)
即使该re
模块在 Python 标准库中,我们仍然需要在使用前导入它。
r
确保在导入时没有使用大写字母,因为模块名称区分大小写。 re
另外,请确保您没有导入re
嵌套范围,例如函数。在顶层导入模块,以便能够在整个代码中使用它。
导入整个re
模块的替代方法是仅导入您的代码使用的函数和常量。
主程序
# 👇️ import only compile function from re module from re import compile prog = compile(r'\w+') result = prog.match('hello world 123') print(result)
该示例显示了如何仅从模块导入compile
函数re
。
例如re.compile
,我们现在直接访问它们,而不是访问模块上的成员。
这应该是您的首选方法,因为它使您的代码更易于阅读。
例如,当我们使用诸如 之类的导入时
import re
,很难看出re
文件中使用了模块中的哪些函数。相反,当我们导入特定的函数时,更容易看出re
正在使用模块中的哪些函数。
该re
模块提供正则表达式匹配操作。
您可以访问官方文档re
查看该模块提供的
所有功能。
结论
Python“NameError: name ‘re’ is not defined”发生在我们使用re
模块而不先导入它时。要解决错误,请re
在使用之前导入模块 – import re
。