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中使用pprint函数进行格式化输出的教程
Apr 07 Python
Python对象转JSON字符串的方法
Apr 27 Python
python变量不能以数字打头详解
Jul 06 Python
python snownlp情感分析简易demo(分享)
Jun 04 Python
python3中函数参数的四种简单用法
Jul 09 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
Pandas读取并修改excel的示例代码
Feb 17 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
django日志默认打印request请求信息的方法示例
May 17 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 Python
Django给表单添加honeypot验证增加安全性
May 06 Python
Python异常类型以及处理方法汇总
Jun 05 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 in_array 函数使用说明与in_array需要注意的地方说明
2010/04/13 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
JS实现浏览上传文件的代码
2017/08/23 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
国外软件测试工程师面试题
2016/12/09 面试题
婚纱摄影师求职信
2014/03/07 职场文书
乔迁之喜主持词
2014/03/27 职场文书
文秘个人求职信范文
2014/04/22 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL
Java 深入探究讲解简单工厂模式
2022/04/07 Java/Android