python判断windows隐藏文件的方法


Posted in Python onMarch 21, 2014

1. 通过windows attrib 命令获取文件隐藏属性

Syntax
      ATTRIB [ + attribute | - attribute ] [pathname] [/S [/D]]
Key
     +    : Turn an attribute ON
     -    : Clear an attribute OFF
 pathname : Drive and/or filename e.g. C:\*.txt
    /S    : Search the pathname including all subfolders.
    /D    : Process folders as well
   attributes: 
        R  Read-only (1)
        H  Hidden (2)
        A  Archive (32)
        S  System (4)
   extended attributes:
        E  Encrypted
        C  Compressed (128:read-only)
        I  Not content-indexed
        L  Symbolic link/Junction (64:read-only)
        N  Normal (0: cannot be used for file selection)
        O  Offline
        P  Sparse file
        T  Temporary

python判断windows隐藏文件的方法

2. 隐藏属性值及其含义 
Constants - the following attribute values are returned by the GetFileAttributes function:

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.)
3. python 通过 win32api 获取文件隐藏属性
python 官网对 win32API 的简单说明 https://www.python.org/download/windows/
下载地址 http://sourceforge.net/projects/pywin32/
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)

运行结果:

python判断windows隐藏文件的方法

4. 与运算(&)更直观判断隐藏文件
示例代码如下,& 运算的结果与隐藏属性值相对应,可以更直观的判断文件类型。

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)

运行结果:

python判断windows隐藏文件的方法

 

Python 相关文章推荐
进一步了解Python中的XML 工具
Apr 13 Python
Python中的单继承与多继承实例分析
May 10 Python
Python字典创建 遍历 添加等实用基础操作技巧
Sep 13 Python
Python类装饰器实现方法详解
Dec 21 Python
Python完成哈夫曼树编码过程及原理详解
Jul 29 Python
PHP统计代码行数的小代码
Sep 19 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
PyTorch实现AlexNet示例
Jan 14 Python
浅析python 定时拆分备份 nginx 日志的方法
Apr 27 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 Python
Python import模块的缓存问题解决方案
Jun 02 Python
python画条形图的具体代码
Apr 20 Python
python解析中国天气网的天气数据
Mar 21 #Python
python实现文件名批量替换和内容替换
Mar 20 #Python
Python读写Redis数据库操作示例
Mar 18 #Python
python实现k均值算法示例(k均值聚类算法)
Mar 16 #Python
python实现保存网页到本地示例
Mar 16 #Python
利用打码兔和超人打码自封装的打码类分享
Mar 16 #Python
Python使用代理抓取网站图片(多线程)
Mar 14 #Python
You might like
php学习 字符串课件
2008/06/15 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
教你php如何实现验证码
2016/01/20 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
2014/08/12 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
Node.js连接Sql Server 2008及数据层封装详解
2018/08/27 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
Python中set与frozenset方法和区别详解
2016/05/23 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
django 扩展user用户字段inlines方式
2020/03/30 Python
Python操作Excel的学习笔记
2021/02/18 Python
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
三维科技面试题
2013/07/27 面试题
公司出纳岗位职责
2013/12/07 职场文书
晚会邀请函范文
2014/01/24 职场文书
仲裁协议书
2014/09/26 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
基层党建工作简报
2015/07/21 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技