Python:了解 os.listdir() 方法

Python: Understanding os.listdir() Method

我还是python的初学者,我想了解以下代码的作用。

files = [f for f in os.listdir('E:/figs/test') if os.path.isfile(f)]
imgs = []

#read input
for f in files:
    if 'jpg' in f and 'background' not in f:
        imgs.append(cv2.imread(f))

print(imgs)

可以看出,我已经插入了包含图像的文件夹的路径。但是,当我打印内容时,它是空的。请问谁能解释一下是什么原因以及解决方法吗?

因为os.path.isfile(f)正在检查f是否是一个文件;但是 fE:/figs/text 之下。您应该尝试以下操作:


main_dir = "E:/figs/test"
files = [f for f in os.listdir(main_dir) if os.path.isfile(os.path.join(main_dir, f))]

因为这将检查 E:/figs/text 下的文件 f 是否存在。

os.listdir() 方法python用于获取指定目录下所有文件和目录的列表。如果我们不指定任何目录,则返回当前工作目录中的文件和目录列表。

您必须在文件夹路径中使用 // 而不是 /

像这样:

files = [f for f in os.listdir('E://figs//test') if os.path.isfile(f)]

试试这个可能 运行