I try to loop through folder and read files but only the first file will open and read correctly but the second files print the name and through an error \"IOError: [Errno 2
os.listdir() gives you only the filename, but not the path to the file:
import os
for filename in os.listdir('path/to/dir'):
if filename.endswith('.log'):
with open(os.path.join('path/to/dir', filename)) as f:
content = f.read()
Alternatively, you could use the glob module. The glob.glob() function allows you to filter files using a pattern:
import os
import glob
for filepath in glob.glob(os.path.join('path/to/dir', '*.log')):
with open(filepath) as f:
content = f.read()