循环浏览目录/文件夹中的文件,过滤它们,然后逐行从中读取信息

时间:2018-11-29 12:22:10

标签: python python-3.x file

我想循环浏览文件夹中的文件,并从中读取一些数据:

directory = os.fsencode(directory)
    for file in os.listdir(directory):
        file = os.fsdecode(file)
        if file.endswith(".log"):
            with open(file) as f:
                for line in f:
                   extract(line=line))
  

使用open(file)作为f:FileNotFoundError:[Errno 2]没有这样的文件或   目录:b'access.log'

这是“奇怪的”,因为文件存在。

1 个答案:

答案 0 :(得分:1)

您需要将基本路径添加到文件。使用os.path.join(directory, file)

例如:

directory = os.fsencode(directory)
for file in os.listdir(directory):
    file = os.fsdecode(file)
    if file.endswith(".log"):
        with open(os.path.join(directory, file)) as f:
            for line in f:
               extract(line=line))