Самый эффективный способ поиска всех файлов с одинаковыми именами в python - PullRequest
1 голос
/ 06 ноября 2019

Я хочу найти расширения для всех файлов с одинаковыми именами в папке. Например, если каталог содержит 2 файла с именами test.csv и test.txt. Я хочу, чтобы программа возвращала список, содержащий ".txt" и ".csv".

Я использовал:

glob.glob(file_name + '*') 

, который работает, но довольно медленно (0,03 секунды), когдаПапка содержит много файлов. Есть ли какой-нибудь более быстрый способ сделать это в Python?

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

попробуйте что-то вроде:

import re
import os

files = os.listdir(".")

my_files = re.findall(r"(\w+\.php)", " ".join(files))

print(my_files)
0 голосов
/ 06 ноября 2019

Вы можете использовать словарь с именами файлов в качестве ключей и расширениями в качестве значений следующим образом:

import os
data = {}
for file in os.listdir():
    name, ext = file.split('.')
    if name not in data.keys():
        data[name ] = list()

    temp = data[name].copy()
    temp.append(ext)
    data[name] = temp

print(data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...