Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để bỏ qua các tệp ẩn bằng cách sử dụng os.listdir () trong Python?

Trên Unix OS (OSX, Linux, v.v.), các tệp ẩn bắt đầu bằng dấu '.' vì vậy chúng tôi có thể lọc chúng ra bằng cách sử dụng một kiểm tra ban đầu đơn giản. Trên windows, chúng ta cần kiểm tra các thuộc tính của tệp và sau đó xác định xem tệp có bị ẩn hay không.

Ví dụ

Ví dụ:bạn có thể sử dụng mã sau để nhận danh sách mà không có tệp ẩn:

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)