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
是否是一个文件;但是 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
是否存在。
os.listdir()
方法python用于获取指定目录下所有文件和目录的列表。如果我们不指定任何目录,则返回当前工作目录中的文件和目录列表。
您必须在文件夹路径中使用 //
而不是 /
像这样:
files = [f for f in os.listdir('E://figs//test') if os.path.isfile(f)]
试试这个可能 运行
我还是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
是否存在。
os.listdir()
方法python用于获取指定目录下所有文件和目录的列表。如果我们不指定任何目录,则返回当前工作目录中的文件和目录列表。
您必须在文件夹路径中使用 //
而不是 /
像这样:
files = [f for f in os.listdir('E://figs//test') if os.path.isfile(f)]
试试这个可能 运行