曼查克 发表于 2020-7-7 16:51:41

求助,用os.listdir()会读出隐藏的desktop.ini系统文件

今天遇到个比较麻烦的问题,用os.listdir()会读出隐藏的desktop.ini系统文件,导致后续代码报错,虽然做些修改或许可以避免,但是仍然很想弄清楚为什么会有这样的情况出现。代码如下,求大佬解答疑惑!!!

import cv2
import numpy as ny
import os

address = input(r"输入目标路径:")
os.chdir(address)
imgs = os.listdir(".")
print(imgs)



运行结果却是这样:


输入目标路径:D:\hhhh
['bc1@1_side (12).jpeg', 'BC2@6_side (3).jpeg', 'BC2_0@1_side.jpeg', 'BC@8_side (10).jpeg', 'BC@8_side.jpeg', 'BC_0@2__side.jpeg', 'desktop.ini']

我的文件夹里放的全是图像,他读到了隐藏起来的desktop.ini系统文件,而且据测试有些文件夹不会读到,有些却会。
之前没遇到过,这是什么情况?
{:7_132:}

Twilight6 发表于 2020-7-7 16:58:27



你重新新建个文件夹吧,然后把图片存到那个文件夹去吧?

去查了下 :desktop.ini文件主要是用来保存系统文件夹的个性化设置信息,不建议删除

所以有些系统文件夹内会有,有些不会,就是因为系统的某些个性化保存的目录不在这个文件夹吧?


永恒的蓝色梦想 发表于 2020-7-7 17:00:52

desktop.ini 只是存储了你对这个位置的个性化设置,有些没有设置的就不会有。

yhhpf 发表于 2020-7-7 17:02:20

用os.path.splitext判断下文件后缀好了,把不想要的跳过~

曼查克 发表于 2020-7-7 17:24:31

本帖最后由 曼查克 于 2020-7-7 17:35 编辑

先澄清一下,有desktop.ini文件的会读到,没有的就读不到。

然后做了很多尝试:
新建文件夹,把报错的那包图一张张复制到新文件夹测,大部分没有问题,个别图像复制过来就会又读到这个文件,猜测desktop.ini文件跟这两张图像相关。
换了电脑也这样。
感觉是不是都是这样的,只是自己一直不知道呢。。

搜了一下好像确实如此。

{:10_257:}

Twilight6 发表于 2020-7-7 17:32:31

曼查克 发表于 2020-7-7 17:24
先澄清一下,有desktop.ini文件的会读到,没有的就读不到。

然后做了很多尝试:



desktop.ini 去查了下还有可能是病毒伪装的哈哈....{:7_141:}

赚小钱 发表于 2020-7-7 19:22:05

1. 根据文件名设置过滤白名单
2. 读取文件的 stat 信息,判断是否为隐藏文件
页: [1]
查看完整版本: 求助,用os.listdir()会读出隐藏的desktop.ini系统文件