我的代码是:
import re
key, val = ' ', 2
self._l[key] = re.findall(r"[A-Z]+", val)
错误:
return _compile(pattern, flags).findall(string)
TypeError: expected string or bytes-like object
答案 0 :(得分:2)
那是因为你问题中的val
是int
。如果将其设置为str
对象,则可以使用:
>>> val = 2
>>> type(val)
<type 'int'>
>>> val = "2"
>>> type(val)
<type 'str'>
>>> re.findall(r"[A-Z]+", val)
[]
>>> val = 'SOME 123 STRING'
>>> re.findall(r"[A-Z]+", val)
['SOME', 'STRING']