如何在Python中使用os.listdir()忽略隐藏文件?
在Unix操作系统(例如OSX和Linux)中,隐藏文件以点“.”开头,因此我们可以通过简单的startswith检查来过滤它们。在Windows上,我们需要检查文件属性,然后确定该文件是否隐藏。
阅读更多:Python 教程
示例
例如,您可以使用以下代码获取没有隐藏文件的列表:
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)