源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

python判断windows隐藏文件的方法

  • 时间:2022-03-23 13:57 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:python判断windows隐藏文件的方法
[b]1. 通过windows attrib 命令获取文件隐藏属性[/b]
[url=http://msdn.microsoft.com/en-us/library/gg258117%28v=vs.85%29.aspx]GetFileAttributes[/url] function:
[u]复制代码[/u] 代码如下:
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)
For example, a file attribute of 0x120 indicates the Temporary + Archive attributes are set (0x100 + 0x20 = 0x120.) [b]3. python 通过 win32api 获取文件隐藏属性[/b] python 官网对 win32API 的简单说明 https://www.python.org/download/windows/ 下载地址 http://sourceforge.net/projects/pywin32/
[u]复制代码[/u] 代码如下:
import win32file · filenames = [r'D:\test',              r'D:\test\$RECYCLE.BIN',              r'D:\test\.file_test.py.swp',              r'D:\test\file_test.py'] for filename in filenames:     print '%4d, %s' %(win32file.GetFileAttributesW(filename), filename)
运行结果: [img]http://files.jb51.net/file_images/article/201403/2014032110512918.jpg[/img] [b]4. 与运算(&)更直观判断隐藏文件[/b] 示例代码如下,& 运算的结果与隐藏属性值相对应,可以更直观的判断文件类型。
[u]复制代码[/u] 代码如下:
import win32file import win32con filenames = [r'D:\test',              r'D:\test\$RECYCLE.BIN',              r'D:\test\.file_test.py.swp',              r'D:\test\file_test.py'] for filename in filenames:     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)
运行结果: [img]http://files.jb51.net/file_images/article/201403/2014032110512919.jpg[/img]  
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部