如何在使用os.listdir()时忽略隐藏文件?
大家好,请教一下如何在使用os.listdir()时忽略隐藏文件?我在使用os.listdir(c:\\)时,把我c盘里的隐藏文件都打印出来了,请问有什么办法能取消掉隐藏文件呢
# 输入盘名-->显示盘下面的所有目录
# 选择目录下的文件夹-->显示文件夹下的所有目录并显示地址
import os
def showfile(path):
num = 1
all_file = os.listdir(path)# listdir(path='.')# 列举指定目录中的文件名('.'表示当前目录,'..'表示上一级目录)#os.curdir指代当前目录('.')
for each_file in all_file:
print('%s.%s' % (num, each_file))
num += 1
def montage():
temp_path = input('请输入地址:【C/D/E/F】:') + ':\\'
TEMP_PATH = temp_path.upper()
if TEMP_PATH not in ['C:\\','D:\\',' E:\\', 'F:\\']:
input('您的输入有误,请重新输入地址:【C/D/E/F】:') + ':\\'
return
else:
showfile(temp_path)
montage()
本帖最后由 _荟桐_ 于 2020-4-4 23:09 编辑
import os
a = != "."]
把这一段加进去就o了 # 输入盘名-->显示盘下面的所有目录
# 选择目录下的文件夹-->显示文件夹下的所有目录并显示地址
import os
import win32api,win32con
def showfile(path):
num = 1
all_file = os.listdir(path)# listdir(path='.')# 列举指定目录中的文件名('.'表示当前目录,'..'表示上一级目录)#os.curdir指代当前目录('.')
for each_file in all_file:
if bool(win32api.GetFileAttributes(each_file) & win32con.FILE_ATTRIBUTE_HIDDEN):
continue#获取文件或目录是否有隐藏属性,有则continue
print('%s.%s' % (num, each_file))
num += 1
def montage():
temp_path = input('请输入地址:【C/D/E/F】:') + ':\\'
TEMP_PATH = temp_path.upper()
if TEMP_PATH not in ['C:\\','D:\\',' E:\\', 'F:\\']:
input('您的输入有误,请重新输入地址:【C/D/E/F】:') + ':\\'
return
else:
showfile(temp_path)
montage() xiangjianshinan 发表于 2020-4-5 00:12
我安装了win32之后,还是打不开文件,还是报错,原因是pywintypes.error: (2, 'GetFileAttributes', '系统找不到指定的文件。')
_荟桐_ 发表于 2020-4-4 22:27
import os
a =!= "."]
把这一段加进去就o了
我的隐藏文件不是由.开头的,所以还是排除不了隐藏文件 想问一下,怎么不打印处隐藏文件夹呢,是隐藏文件夹,不是文件 caiying069 发表于 2020-4-6 12:04
我的隐藏文件不是由.开头的,所以还是排除不了隐藏文件
是$开头的吗 本帖最后由 _荟桐_ 于 2020-4-6 15:35 编辑
caiying069 发表于 2020-4-6 12:11
想问一下,怎么不打印处隐藏文件夹呢,是隐藏文件夹,不是文件
a = != "$"]
这样呢??
↓↓↓不行试试这个↓↓↓
a = != "$" if os.path.isdir(b)] 其他的那些隐藏文件夹应该是隐藏不了(是系统隐藏起来的) _荟桐_ 发表于 2020-4-6 15:27
是$开头的吗
有部分是$开头的,有的是字母开头
E:\python\python\python.exe E:/python/学习资料/小甲鱼—《零基础入门学习Python》(公众号青年时刻)/030文件系统:介绍一个高大上的东西/新建文件夹/1.py
请输入地址:【C/D/E/F】:c
1.$360Section
2.$RECYCLE.BIN
3.2C5F5F0EB33C4F75B4DB9C6ACF8CF3E1
4.360SANDBOX
5.AppData
6.Aria2Data
7.Boot
8.bootmgr
9.C5E2E89ACDE2CFBDC803E906960B3DD3
10.ckcore.txt
11.CSUWX
12.Documents and Settings
13.Drivers
14.InstallConfig.ini
15.MSOCache
16.NVIDIA
17.pagefile.sys
18.Program Files
19.Program Files (x86)
20.ProgramData
21.System Volume Information
22.Users
23.widgets_config.upup
24.Windows caiying069 发表于 2020-4-6 17:15
有部分是$开头的,有的是字母开头
E:\python\python\python.exe E:/python/学习资料/小甲鱼—《零基础入 ...
那些隐藏文件夹应该不能在listdir的时候不显示吧。 _荟桐_ 发表于 2020-4-6 18:26
那些隐藏文件夹应该不能在listdir的时候不显示吧。
今天还是遇到了隐藏文件的问题,在做第30课第3个题目的时候,如果输入E://盘,会由于经过隐藏文件,发生报错,但是如果从更深的目录输入如E://python//学习资料//小甲鱼—《零基础入门学习Python》(公众号青年时刻)/就不会报错,并能成功打印出vedio.txt文件,这就很头痛了。 caiying069 发表于 2020-4-7 21:20
今天还是遇到了隐藏文件的问题,在做第30课第3个题目的时候,如果输入E://盘,会由于经过隐藏文件,发生 ...
那个是跳不过隐藏文件的
如果报的错是权限错误,就加上try语句
如果是有同名的文件,就弄一个循环,把所有叫vedio.txt的都找出来 当我没说
页:
[1]