Новичок в python, извините, если это простой вопрос. Я немного поискал и нашел много при поиске файлов с неизвестным именем и известным расширением файла, но не с известным именем и неизвестным расширением, и если никто не возражает, мне может понадобиться небольшая помощь, чтобы мой код работал правильно.
Я пытаюсь написать функцию Python, которая принимает каталог и имя, а затем возвращает список с путем ко всем файлам (с любым расширением файла) и каталогам с этим именем. Параметр каталога будет представлять собой диск компьютера (например, C или F), а параметр имени — это имя (без расширения) искомого файла.
Ниже приведен код, который у меня есть:
import os
import glob
def search_directory(directory,name):
result = []
for root,dirs,files in os.walk(directory,topdown=True):
files_lower = []
dirs_lower = []
for i in files:
files_lower.append(i.lower())
for i in dirs:
dirs_lower.append(i.lower())
for i in glob.glob(name + '.*'):
if i.lower() in files_lower:
result.append(root + "\\" + files[files_lower.index(i.lower())])
if name.lower() in dirs_lower:
result.append(root + "\\" + dirs[dirs_lower.index(name.lower())])
if (len(result) == 0):
result.append("fileNotFound")
return result
В настоящее время я могу найти результаты только в том случае, если копия файла находится в каталоге моей программы. Если там нет копии, он не находит файл, хотя на моем диске есть две копии.
Я надеялся, что кто-нибудь может объяснить мне, почему это так и как это исправить, чтобы он всегда находил файлы, которые я ищу.