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 ZipFile模块详解
Nov 01 Python
Python中使用items()方法返回字典元素对的教程
May 21 Python
python导入时小括号大作用
Jan 10 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
May 31 Python
30秒轻松实现TensorFlow物体检测
Mar 14 Python
Python3.4解释器用法简单示例
Mar 22 Python
使用python list 查找所有匹配元素的位置实例
Jun 11 Python
python3.7简单的爬虫实例详解
Jul 08 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
无惧面试,带你搞懂python 装饰器
Aug 17 Python
python复合条件下的字典排序
Dec 18 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
Mar 03 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
如何将数据从文本导入到mysql
2006/10/09 PHP
PHP中SESSION使用中的一点经验总结
2012/03/30 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
php技巧小结【推荐】
2017/01/19 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
jQuery之ajax删除详解
2014/02/27 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
js倒计时简单实现方法
2015/12/17 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
Nodejs在局域网配置https访问的实现方法
2020/10/17 NodeJs
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
Python中暂存上传图片的方法
2015/02/18 Python
详解Python中的type和object
2018/08/15 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
python可视化实现代码
2019/01/15 Python
Python日期时间Time模块实例详解
2019/04/15 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
python调用摄像头的示例代码
2020/09/28 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
HTML5图片预览实例分享
2014/06/04 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery