[英]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
是否为文件; 但f
在E:/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.