python判断windows隐藏文件的方法
1.通过windowsattrib命令获取文件隐藏属性
ATTRIB[+attribute|-attribute][pathname][/S[/D]]
Key
+ :TurnanattributeON
- :ClearanattributeOFF
pathname:Driveand/orfilenamee.g.C:\*.txt
/S :Searchthepathnameincludingallsubfolders.
/D :Processfoldersaswell
attributes:
R Read-only(1)
H Hidden(2)
A Archive(32)
S System(4)
extendedattributes:
E Encrypted
C Compressed(128:read-only)
I Notcontent-indexed
L Symboliclink/Junction(64:read-only)
N Normal(0:cannotbeusedforfileselection)
O Offline
P Sparsefile
T Temporary
2.隐藏属性值及其含义
Constants-thefollowingattributevaluesarereturnedbytheGetFileAttributesfunction:
FILE_ATTRIBUTE_READONLY=1(0x1)
FILE_ATTRIBUTE_HIDDEN=2(0x2)
FILE_ATTRIBUTE_SYSTEM=4(0x4)
FILE_ATTRIBUTE_DIRECTORY=16(0x10)
FILE_ATTRIBUTE_ARCHIVE=32(0x20)
FILE_ATTRIBUTE_NORMAL=128(0x80)
FILE_ATTRIBUTE_TEMPORARY=256(0x100)
FILE_ATTRIBUTE_SPARSE_FILE=512(0x200)
FILE_ATTRIBUTE_REPARSE_POINT=1024(0x400)
FILE_ATTRIBUTE_COMPRESSED=2048(0x800)
FILE_ATTRIBUTE_OFFLINE=4096(0x1000)
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED=8192(0x2000)
FILE_ATTRIBUTE_ENCRYPTED=16384(0x4000)
Forexample,afileattributeof0x120indicatestheTemporary+Archiveattributesareset(0x100+0x20=0x120.)
3.python通过win32api获取文件隐藏属性
python官网对win32API的简单说明https://www.python.org/download/windows/
下载地址http://sourceforge.net/projects/pywin32/
forfilenameinfilenames: 4.与运算(&)更直观判断隐藏文件 filenames=[r"D:\test", forfilenameinfilenames: 运行结果:
·
filenames=[r"D:\test",
r"D:\test\$RECYCLE.BIN",
r"D:\test\.file_test.py.swp",
r"D:\test\file_test.py"]
print"%4d,%s"%(win32file.GetFileAttributesW(filename),filename)
运行结果:
示例代码如下,&运算的结果与隐藏属性值相对应,可以更直观的判断文件类型。
importwin32con
r"D:\test\$RECYCLE.BIN",
r"D:\test\.file_test.py.swp",
r"D:\test\file_test.py"]
file_flag=win32file.GetFileAttributesW(filename)
is_hiden=file_flag&win32con.FILE_ATTRIBUTE_HIDDEN
is_system=file_flag&win32con.FILE_ATTRIBUTE_SYSTEM
print"%4d,%s,%s,%s"%(file_flag,is_hiden,is_system,filename)相关文章