如何使用Python列出Windows中的非隐藏文件和目录?

在Unix OS(OSX,Linux等)上,隐藏文件以“。”开头。因此我们可以使用简单的startwith check过滤掉它们。在Windows上,我们需要检查文件属性,然后确定文件是否隐藏。

示例

例如,您可以使用以下代码来获取不含隐藏文件的列表:

import os
if os.name == 'nt':
    import win32api, win32con
def file_is_hidden(p):
    if os.name== 'nt':
        attribute = win32api.GetFileAttributes(p)
        return attribute & (win32con.FILE_ATTRIBUTE_HIDDEN | win32con.FILE_ATTRIBUTE_SYSTEM)
    else:
        return p.startswith('.') #linux-osx
file_list = [f for f in os.listdir('.') if not file_is_hidden(f)]
print(file_list)