簡體   English   中英

在目錄python中搜索所有具有相同名稱的文件

[英]Search all files with same name in a directory python

我有一個問題:我需要獲取目錄中文件的路徑,我有一個包含其他文件夾和其他文件夾等的文件夾。。。每個文件夾都包含一個文件“ tv.sas7bdat”,我需要獲取每個文件該文件的路徑。 謝謝 !!!

您可以嘗試以下代碼,其中PATH代表父目錄

import os
def getAlldirInDiGui(path,resultList):
    filesList=os.listdir(path)
    for fileName in filesList:
        fileAbpath=os.path.join(path,fileName)
        if os.path.isdir(fileAbpath):
            getAlldirInDiGui(fileAbpath,resultList)
        else:
            if fileName=='tv.sas7bdat':
                resultList.append(fileAbpath)
resultList = []
PATH = ""
getAlldirInDiGui(PATH,resultList)

如果我正確解決了問題,則可以使用Python的os.walk函數實現目標,如下所示:

import os
for root, dirs, files in os.walk("<starting folder here>", topdown=False):
    for name in files:
        if name == "tv.sas7bdat":
            print(os.path.join(root, name))

ps:關於您的問題的評論,下次請提供盡可能多的細節,並提供您嘗試的代碼,請參閱詢問准則

希望下面的代碼完全可以為您工作:

import glob
initial_path = "c:\<intital folder location>"
files = [file for file in glob.glob(initial_path+ "tv.sas7bdat" , recursive=True)]
for f in files:
    print(f)

您可以結合使用os python軟件包和遞歸函數來搜索特定目錄

import os
from os.path import isfile, join, isdir

def get_files_path(directory, paths):
    for item in os.listdir(directory):
        if isfile(join(directory, item)) and item == "tv.sas7bda":
            paths.append(directory + item)
        elif isdir(directory+item):
            get_files_path(directory + item, paths)
    return paths

directory_to_search = "./"
get_files_path(directory_to_search , [])

您可以使用os.walk()

import os

for root, dirs, files in os.walk(os.getcwd()):
    for f in files:
        if f.find("tv.sas7bdat")>=0:
            print(root,f)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM