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 相关文章推荐
pygame学习笔记(2):画点的三种方法和动画实例
Apr 15 Python
Django URL传递参数的方法总结
Aug 28 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
Sep 14 Python
基于Python函数和变量名解析
Jul 19 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 Python
Python 写入训练日志文件并控制台输出解析
Aug 13 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
Sep 28 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
Python3 中sorted() 函数的用法
Mar 24 Python
Python持续监听文件变化代码实例
Jul 22 Python
利用Opencv实现图片的油画特效实例
Feb 28 Python
python中的class_static的@classmethod的巧妙用法
Jun 22 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随机数生成代码与使用实例分析
2011/04/08 PHP
Thinkphp中的volist标签用法简介
2014/06/18 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
判断浏览器的javascript版本的代码
2010/09/03 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
for循环 + setTimeout 结合一些示例(前端面试题)
2017/08/30 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
Vue.js watch监视属性知识点总结
2019/11/11 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
python中实现精确的浮点数运算详解
2017/11/02 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
python 解决Fatal error in launcher:错误问题
2020/05/21 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
python如何调用java类
2020/07/05 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
商务日语毕业生自荐信
2013/11/23 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
PyMongo 查询数据的实现
2021/06/28 Python
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP