对于每个目录python中的每个文件

问题描述 投票:1回答:1

我想制作一个程序,用于搜索特定文件/扩展名或检查文件本身。我从“ C:\\”开始,我想对子目录中的每个文件提出上诉,因此遍历整个pc文件。我以前使用过os.listdir(),但是没有用,这段代码可以用吗?

for path, directories, files in os.walk('C:\\'):
        for file in files:
                try:
                       #finding the file
                except: pass

建议我更多方法...

python python-3.x windows directory subprocess
1个回答
1
投票

这将找到第一个匹配项:

import os

def find(name, path="C:\\"):
    for root, dirs, files in os.walk(path):
        if name in files:
            return os.path.join(root, name)

这将找到所有匹配项:

def find_all(name, path="C:\\"):
    result = []
    for root, dirs, files in os.walk(path):
        if name in files:
            result.append(os.path.join(root, name))
    return result

这将匹配一个模式:

import os, fnmatch

def find(pattern, path="C:\\"):
    result = []
    for root, dirs, files in os.walk(path):
        for name in files:
            if fnmatch.fnmatch(name, pattern):
                result.append(os.path.join(root, name))
    return result

find('*.txt', '/path/to/dir')
© www.soinside.com 2019 - 2024. All rights reserved.