loop through folder in python and open files throws an error

后端 未结 2 1354
深忆病人
深忆病人 2021-01-01 00:14

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

2条回答
  •  爱一瞬间的悲伤
    2021-01-01 00:32

    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()
    

提交回复
热议问题