python判断windows隐藏文件的方法

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

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)

运行结果:

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)

运行结果:

(0)

相关推荐

  • Python使用filetype精确判断文件类型

    filetype.py Small and dependency free Python package to infer file type and MIME type checking the  magic numbers signature of a file or buffer. This is a Python port from filetype Go package. Works in Python  +3 . 一个小巧自由开放Python开发包,主要用来获得文件类型.包要求Pyt

  • Python判断某个用户对某个文件的权限

    在Python我们要判断一个文件对当前用户有没有读.写.执行权限,我们通常可以使用os.access函数来实现,比如: # 判断读权限 os.access(<my file>, os.R_OK) # 判断写权限 os.access(<my file>, os.W_OK) # 判断执行权限 os.access(<my file>, os.X_OK) # 判断读.写.执行权限 os.access(<my file>, os.R_OK | os.W_OK | os

  • Python判断文件和文件夹是否存在的方法

    一.python判断文件和文件夹是否存在.创建文件夹 复制代码 代码如下: >>> import os >>> os.path.exists('d:/assist') True >>> os.path.exists('d:/assist/getTeacherList.py') True >>> os.path.isfile('d:/assist') False >>> os.path.isfile('d:/assis

  • Python判断文件或文件夹是否存在的三种方法

    常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try语句.pathlib模块. 1.使用os模块 os模块中的os.path.exists()方法用于检验文件是否存在. 判断文件是否存在 import os os.path.exists(test_file.txt) #True os.path.exists(no_exist_file.txt) #Fa

  • python中readline判断文件读取结束的方法

    本文实例讲述了python中readline判断文件读取结束的方法.分享给大家供大家参考.具体分析如下: 大家知道,python中按行读取文件可以使用readline函数,下面现介绍一个按行遍历读取文件的方法,通过这个方法,展开我们要讨论的问题: 复制代码 代码如下: filename = raw_input('Enter your file name')  #输入要遍历读取的文件路径及文件名 file = open(filename,'r') done = 0 while not  done:

  • python通过文件头判断文件类型

    对于提供上传的服务器,需要对上传的文件进行过滤. 本文为大家提供了python通过文件头判断文件类型的方法,避免不必要的麻烦. 分享代码如下 import struct # 支持文件类型 # 用16进制字符串的目的是可以知道文件头是多少字节 # 各种文件头的长度不一样,少半2字符,长则8字符 def typeList(): return { "52617221": EXT_RAR, "504B0304": EXT_ZIP} # 字节码转16进制字符串 def byt

  • python判断windows隐藏文件的方法

    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

  • python判断windows系统是32位还是64位的方法

    本文实例讲述了python判断windows系统是32位还是64位的方法.分享给大家供大家参考.具体分析如下: 通常64的windows系统program files文件夹(用来安装应用程序的默认的默认的目录),有2个,一个是program files另外一个是program files(x86), 而32bit的只有program files这一个文件夹. 根据上面这一特点,我们就可以判断windows系统是32还是64位的. import os prg = 'C:Program Files(

  • Python判断Abundant Number的方法

    本文实例讲述了Python判断Abundant Number的方法.分享给大家供大家参考.具体如下: Abundant Number,中文译成:盈数(又称 丰数, 过剩数abundant number)是一种特殊的 自然数,除去它本身以外的一切正约数的和大于它本身. 介绍见百度百科: http://baike.baidu.com/view/1596350.htm #Checks if a number is abundant or not #An abundant number is the n

  • python关闭windows进程的方法

    本文实例讲述了python关闭windows进程的方法.分享给大家供大家参考.具体如下: 下面的python代码根据进程的名字调用windows的taskkill命令关闭指定的进程 import os command = 'taskkill /F /IM QQ.exe' #比如这里关闭QQ进程 os.system(command) 希望本文所述对大家的Python程序设计有所帮助.

  • Python 判断奇数偶数的方法

    以下实例用于判断一个数字是否为奇数或偶数: # -*- coding: UTF-8 -*- # Filename : test.py # Python 判断奇数偶数 # 如果是偶数除于 2 余数为 0 # 如果余数为 1 则为奇数 num = int(input("输入一个数字: ")) if (num % 2) == 0: print("{0} 是偶数".format(num)) else: print("{0} 是奇数".format(num

  • python判断集合的超集方法及实例

    1.说明 可以使用 >= 运算符判断当前集合是否为另一个集合的超集,即判断集合 b 中的所有元素是否都包含在集合 a 中. 2.语法 set_a >= set_b # 相当于set_a.issuperset(set_b) 3.参数 set_a:集合 a. set_b:集合 b. 4.返回值 返回布尔值,如果集合 b 中的所有元素都包含在集合 a 中,则返回 True,否则返回 False. 5.实例 # 创建集合 a = {'赵', '钱', '孙', '李'} b = {'赵', '孙',

  • Python远程控制Windows服务器的方法详解

    目录 1. 被控端 windows 启动 winrm 服务 检查 winrm 服务监听状态 查看 winrm 配置信息(可选) 配置 winrm client 配置 winrm service 2. 控制端 3. 实战一下 4. 总结 在很多企业会使用闲置的 Windows 机器作为临时服务器,有时候我们想远程调用里面的程序或查看日志文件 Windows 内置的服务「 winrm 」可以满足我们的需求 它是一种基于标准简单对象访问协议( SOAP )的防火墙友好协议,允许来自不同供应商的硬件和操

  • python判断字符串编码的简单实现方法(使用chardet)

    本文实例讲述了python判断字符串编码的方法.分享给大家供大家参考,具体如下: 安装chardet模块 chardet文件夹放在/usr/lib/python2.4/site-packages目录下 [root@sha-sso-data01 chardet]# python Python 2.4.3 (#1, Sep 21 2011, 19:55:41) [GCC 4.1.2 20080704 (Red Hat 4.1.2-51)] on linux2 Type "help", &q

  • Python判断列表是否已排序的各种方法及其性能分析

    声明 本文基于Python2.7语言,给出判断列表是否已排序的多种方法,并在作者的Windows XP主机(Pentium G630 2.7GHz主频2GB内存)上对比和分析其性能表现. 一. 问题提出 Haskell培训老师提出一个问题:如何判断列表是否已经排序? 排序与否实际只是相邻元素间的某种二元关系,即a->a->Bool.所以第一步可以把二元组列表找出来:第二步是把这个函数作用于每个元组,然后用and操作.老师给出的实现代码如下: pair lst = zip lst ( tail

  • 利用Python判断文件的几种方法及其优劣对比

    目录 前言 懒人的try语句 传统的os模块 时尚的pathlib模块 几种方法优劣对比 总结 前言 我们知道当文件不存在的时候,open()方法的写模式与追加模式都会新建文件,但是对文件进行判断的场景还有很多,比如,在爬虫下载图片的时候,可能需要判断文件是否存在,以免重复下载:又比如,创建新文件的时候,可能需要判断文件是否存在,存在就先做个备份……所以,学习判断文件是否存在,还是很有必要的. 学习是循序渐进的过程,若能建立知识点间的联系,进行系统性的学习,那将更有助于效果.阅读这篇文章,你将读

随机推荐