mac数据集中的异常文件
1背景
提取训练图片。总共N张,但是启动训练的时候多了一个文件,总文件数量N+1;训练过程报错
AttributeError: ‘NoneType‘ object has no attribute ‘astype‘
错误原因:https://blog.csdn.net/qq_40475568/article/details/83415948?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1-83415948-blog-123857325.experiment_layer_sa&spm=1001.2101.3001.4242.2&utm_relevant_index=4
1 cv2.imread的文件路径错误,比如:
①路径不存在;
②路径错误,不是指向图片所在位置的路径;
③路径中包含中文字符,如汉字以及【】等中文字符
2读取的图片使不合法的,比如要求读入.png格式而实际读入.jpg格式
3 opencv没有配置好或版本不对 ,尝试重装
查看文件夹,没有找到多的一个文件在哪里啊???
既然提示训练过程数据量比预定的多了一张,那我们先看看哪个数据集多了一个“文件”
import os #文件夹中的文件计数函数 def file_count(local_path, type_dict): global all_file_num # 声明全局变量 file_list = os.listdir(local_path) # 列出本地文件夹第一层目录的所有文件和目录 for file_name in file_list: if os.path.isdir(os.path.join(local_path, file_name)): # 判断是文件还是目录,是目录为真 type_dict.setdefault("文件夹", 0) # 如果字典key不存在,则添加并设置为初始值 type_dict["文件夹"] += 1 p_local_path = os.path.join(local_path, file_name) # 拼接本地第一层子目录,递归时进入下一层 file_count(p_local_path, type_dict) else: ext = os.path.splitext(file_name)[1] # 获取到文件的后缀 if(ext != '.png'): print("*") type_dict.setdefault(ext, 0) # 如果字典key不存在,则添加并设置为初始值 type_dict[ext] += 1 all_file_num += 1 # 计算总文件数量 return all_file_num if __name__ == '__main__': local_path = '/Users/一只猫/data/trains/AAA' #文件夹的路径,便利各个文件夹 type_dict = dict() # 定义一个保存文件类型及数量的空字典 all_file_num = 0 #计算本地总文件数 file_count = file_count(local_path, type_dict) # 运行函数,power by luotao # 打印文件类型以及数量 for each_type in type_dict: print(f"文件类型为【{each_type}】的数量有:{type_dict[each_type]} 个") print(f"总文件数量为:{file_count}")
找到/AAA 文件夹下文件多了一个,文件类型【】;不是png;但是把文件夹翻来覆去看也没有找到这个多余的文件呀????
那么会不会是一个隐藏文件?通过上述程序发现那个多余的文件 .DS_;打开终端,到目标文件夹,ls -la;看到了吗???
那我们下一步要做的就是删除多余文件:
在「访达」中打开「应用程序」> 「实用工具」 > 「终端」。 定位到你要删除 .DS_Store 文件的文件夹目录下。 在「终端」里输入`cd`命令,跟上你的目录文件夹路径,例如: `cd /Users/username/pictures`。 回车。 输入命令 `find . -name '.DS_Store' -type f -delete`。 再次回车。
现在再次运行文件数量的统计程序,那个多余的没有了。。。
2简介
https://zhuanlan.zhihu.com/p/439868892
.DS_Store是一个MACOS的隐藏文件,如果你的文件夹下有,一般在MAC上不会显示,但是你如果把整个文件夹放到WIN上,就会显示的看到;在MAC上想看到它可以通过command+shift+. ;
这个文件主要是描述文件夹的属性,图标位置,上次打开时候显示窗口大小等;详细可以见上边的知乎专栏
“
DS_Store,英文全称是 Desktop Services Store(桌面服务存储),开头的 DS 是 Desktop Services(桌面服务) 的缩写。它是一种由macOS系统自动创建的隐藏文件;"我没觉得我通过访达打开,他就会生成DS-store"
虽然不能在「访达」中直接看到它,但是通过「终端」App,可以输入`ls -la`命令列出。同时,通过`file`命令,可以显示出其文件类型,即”Desktop Services Store“。
DS_Store 文件的主要作用,是存储当前文件夹在桌面显示相关方面的一些自定义属性,包括文件图标的位置、文件夹上次打开时窗口的大小、展现形式和位置等。这有助于保留为特定文件夹配置的设置,例如,将桌面文件夹设置为查看按名称排序的图标,同时将下载文件夹配置为将文件显示为列表并按日期排序,最近修改的先显示。
后来,苹果又往里面加入了一些和文件注释相关的自定义信息。(这部分注释信息在最新的macOS中,同时被存储在文件自身的扩展文件属性中,这里仅作为了备份)
”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2019-08-16 关于window PC机的预定义宏win32