具有分配“使用正则表达式提取数据”。为此,我正在导入正则表达式,但是代码无法正常工作。我的错是什么?
我检查了没有“导入”的代码,它确实起作用。 2-7行正在运行。但是在“ import re”第1行上出现了回溯错误。
import re
fname = input('Enter file: ')
if len(fname) < 1 : fname = "sample.txt"
hand = open(fname)
hd = hand.read()
for line in hand:
line = line.rstrip()
nm = re.findall('[0-9]+',line)
print(nm)
C:\Users\Desktop\new>re.py
Enter file:
Traceback (most recent call last):
File "C:\Users\Desktop\new\re.py", line 1, in <module>
import re
File "C:\Users\Desktop\new\re.py", line 9, in <module>
[enter image description here][1]nm = re.findall('[0-9]+',line)
AttributeError: module 're' has no attribute 'findall'
答案 0 :(得分:0)
由于您已调用文件re.py
,因此import
实际上将导入该文件,而不是用于正则表达式的内置模块。
只需将文件重命名为其他名称,它便会按预期工作。