如何忽略python中的隐藏文件夹?

问题描述 投票:0回答:3

如何在 Python 3.10.x 中忽略

os.scandir()
中的隐藏文件夹?

import os

for dir in os.scandir('C:/'):
    print(dir.path)

我不想要这些路径。

我想要这些路径。

python
3个回答
0
投票

这篇文章适用于隐藏文件,但它也适用于文件夹: 跨平台隐藏文件检测


0
投票

这是包含 1 个隐藏文件夹和一个文件的文件夹。它们在最终输出中被忽略,只列出非隐藏目录:

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) and os.path.isdir(f)]
    print(file_list)

Output:

    ['1', '2']

-1
投票

如果您想使用 os.scandir() 忽略隐藏文件夹,只需检查文件夹名称是否以点 ('.') 开头。以下是您可以如何调整代码来做到这一点:

import os

my_path = 'C:/'

for item in os.scandir(my_path):
    if item.is_dir() and not item.name.startswith('.'):
        print(item.path)

现在它只会打印未隐藏的文件夹路径。希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.