有关return _compile(pattern,flags)的错误.findall(string)TypeError:期望的字符串或类似字节的对象

时间:2017-11-13 20:28:25

标签: python regex findall

我是Python的初学者,当我尝试在CMD上执行此命令时,我遇到了这个错误。请指教:

代码:

import re
handle=open('regex_sum_41718.txt')
for line in handle:
    word=line.split()
    print(type(word))
    y=re.findall('[0-9]+',word)
print(y)

错误:

Traceback (most recent call last):
    File "Assi_1.py", line 5, in <module>
        y=re.findall('[0-9]+', word)
    File "D:\Python\lib\re.py", line 222, in findall
        return _compile(pattern, flags).findall(string)
TypeError: expected string or bytes-like object

非常感谢。

1 个答案:

答案 0 :(得分:1)

您需要在line.split()

周围添加另一个循环
for line in handle:
    for word in line.split():
        print(type(word))
        y=re.findall('[0-9]+',word)

否则word是一个列表,只能搜索字符串。