欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 排除點目錄

錢琪琛1年前8瀏覽0評論

在Python中,有時候我們需要掃描目錄中的所有文件和子目錄,但有些目錄可能是我們不想掃描的,我們需要將它們排除在外。本文將介紹如何在Python中排除指定的目錄。

在Python中,我們可以使用os模塊來掃描一個目錄中的所有文件和子目錄。下面是一個簡單的例子:

import os
def traverse_dir(path):
for root, _, files in os.walk(path):
for file in files:
print(os.path.join(root, file))

上面的代碼將遞歸掃描指定的目錄,并輸出每個文件的完整路徑。但有時候我們需要排除某些目錄,比如.git目錄或__pycache__目錄。下面是一個改進版的代碼,它可以排除指定的目錄:

import os
def traverse_dir(path):
exclude_dirs = ['.git', '__pycache__']  # 要排除的目錄列表
for root, dirs, files in os.walk(path):
for exclude_dir in exclude_dirs:
if exclude_dir in dirs:
dirs.remove(exclude_dir)  # 排除指定的目錄
for file in files:
print(os.path.join(root, file))

在上面的代碼中,我們使用了一個exclude_dirs列表來存放要排除的目錄,然后在遍歷目錄時,如果遇到了要排除的目錄,就將它從dirs列表中刪除,這樣后面遍歷子目錄時就會排除掉這些目錄。

除了在os.walk()函數中排除目錄外,我們還可以使用fnmatch模塊來篩選出要掃描的目錄。該模塊提供了一些通配符,比如*表示匹配任意字符,?表示匹配單個字符。下面是一個使用fnmatch模塊的例子:

import os
import fnmatch
def traverse_dir(path):
for root, dirs, files in os.walk(path):
for dir in dirs:
if fnmatch.fnmatch(dir, 'test*'):  # 只掃描以test開頭的目錄
for file in files:
print(os.path.join(root, file))

上面的代碼只會掃描以test開頭的目錄,其他目錄會被自動排除。