我想循环浏览文件夹中的文件,并从中读取一些数据:
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'
这是“奇怪的”,因为文件存在。
答案 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))