Python Re.search Error TypeError: Expected String Or Buffer
Why would re.search('\.docx', os.listdir(os.getcwd())) yield the following error? TypeError: expected string or buffer
Solution 1:
Because os.listdir
returns a list
but re.search
wants a string.
The easiest way to do what you are doing is:
[f for f in os.listdir(os.getcwd()) if f.endswith('.docx')]
Or even:
import glob
glob.glob('*.docx')
Solution 2:
re.search()
expects str
as the second argument. Refer docs to know more.
import re, os
a = re.search("\.docx", str(os.listdir(os.getcwd())))
if a:
print(True)
else:
print(False)
Post a Comment for "Python Re.search Error TypeError: Expected String Or Buffer"