繁体   English   中英

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的存在。

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

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

像这样:

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

试试这个它可能会运行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM