首页 > 解决方案 > 如何验证文件是否在目录中

问题描述

我需要验证 python 目录中是否存在具有特定名称的文件。

我的目录:

D:\mydirectory\img\

我正在使用 python-decouple 在 '.venv' 中传递我的目录的方式

os.path.exists(config('PATH_IMG'))

我需要一种方法来验证文件“photo.jpg”是否在“PATH_IMG”中。

我尝试使用 os lib,但是,在官方文档中没有显示这样做的方法。

其他,解决它的一些方法需要使用循环,以放大代码复杂性,例如使用循环。

我该怎么做?

标签: pythonfilenames

解决方案


我猜您正在尝试找出目录中是否存在文件。

这可能会帮助您:

import os
directory = <your_path>

for r, d, f in os.walk(directory):
   for file in f:
      if file == "photo.jpg":
         print("Found it!")

os.walk 返回 3 个变量,根、目录名和文件名。

文件名在列表中,因此:

对于列表中的每个值,

如果那个值 == 你在找什么

打印找到它。

编辑:不太确定为什么,但您似乎不想在主代码中使用 for 循环。

做这个:

def findfile(directory, filename):
   for r, d, f in os.walk(directory):
      for file in f:
         if file == filename:
             print("Found it!")

findfile(directory, "photo.jpg")

现在,您可以在需要时调用该函数,这应该“降低”代码复杂性


推荐阅读