我有一个文件夹,其中有对应于10个不同类的子文件夹,这些子文件夹的名称是我的标签。我想出了以下代码来将图像读入Numpy数组并保存标签。
import numpy as np
import pandas as pd
import cv2
import glob
import os
x=np.empty([28,28])
y=np.empty([1,0])
for root, dirs, files in os.walk("filepath"):
for roots in root:
os.chdir(roots)
images = np.array([cv2.imread(file) for file in glob.glob(roots+"/*.jpg")])
num_of_images=images.shape[0]
if num_of_images == 0:
continue
else:
x = np.concatenate((x,images),axis=0)
labels = np.empty([num_of_images,1])
labels = labels.astype(str)
#labels = get from last part of file name in roots
#y=np.concatenate((y,labels),axis=0)
我得到的错误是
os.chdir(root)FileNotFoundError:[Errno 2]没有这样的文件或目录:“U”
当Iprint(root)
时,它会给出正确的子文件夹路径。如何处理此错误?
编辑:通过删除根目录中的根目录的使其正常工作,因为os.walk为根目录提供目录路径的每个目录返回一个3元组。
其他人已经指出了问题所在,因此我不再重复。我只想补充一点,您应该使用
help(os.walk)
或者,在询问问题之前,在解释器内部,任何函数都不能像您期望的那样工作。
处理此错误的方法如下:
import os
for root, dirs, files in os.walk(path):
for thedir in dirs:
p = os.path.join(root, thedir)
os.chdir(p)
正如os.walk()上的文档所说,它返回的每个3元组中的第一项是字符串。同样地,对于root中的根:
迭代字符串的字符。您需要仔细阅读什么样的数据结构os.walk()
返回并相应地重新构造脚本。
问题内容: 我试图建立持续集成与上一个 项目 构建它时,出现以下错误: 以下是我的詹金斯配置的一部分: 我的机器是 我尝试了以下方法: 认为这是一个权限问题,因此在sdk目录中使用chmod -R 777 仔细检查了in 文件(它指向)。 从jenkins配置中删除了添加回来的env变量(这无济于事)。 当我用谷歌搜索时,我发现有人面临同样的问题。提供的解决方案如下: 解 这很可能是因为您要覆盖A
我目前正在为文件管理服务器开发RecycleBin组件。删除文档时,将从多个位置删除所有版本。出现这种情况时,所有文件夹路径将被删除到重复字符串dp\u original\u folder\u paths。 我想在文件夹路径不存在时创建它。 这是我当前的代码。第一部分检查文件是否存在,如果没有创建它。第二部分显示文档被重新链接到文件夹。 给出的输出为 创建目录:\EAM\sbotest 已创建目录
我已经阅读了关于如何在反向代理后为springdoc提供服务的文档(https://springdoc.org/index.html#how-can-i-deploy-springdoc-openapi-ui-behind-a-reverse-proxy)并检查了所有关于该主题的问题,但仍然存在问题。 我在nginx的子目录中提供spring boot(2.6.2版本)应用程序: 我还按照文档配置
我们有一个名为的实体,它与实体有OneToOne关系。
硒2.41,Mac_OSX=10.8.5,Safari=6.0.5 提前致谢
我曾经遇到过一个关于颤振的问题,我不得不下载jdk。我给了它一个路径D:/jdk,但随后我创建了一个新分区,并在C:\Program Files\Java\jdk-16.0.1上再次下载了它。现在,当我在Visual Studio代码中运行应用程序时,出现一个错误: 失败:构建失败,有一个异常。 > 错误:提供的javaHome必须是有效的目录。您提供了:D:\jdk 尝试:使用--stacktr