当前位置: 移动技术网 > IT编程>脚本编程>Python > python判断windows隐藏文件的方法

python判断windows隐藏文件的方法

2019年06月14日  | 移动技术网IT编程  | 我要评论

琴倾天下txt下载,俞敏洪经典语录,灌女友喝醉酒

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 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)

运行结果:

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网