Python. Как при чтении файла выделить имя файла в отдельную переменную?

Пытаюсь написать функцию, которая будет в исходной папке открывать по очереди каждый файл, обработает его и перезапишет. Для записи в csv нужно указать имя файла, а оно будет каждый раз разное. Как в такую функцию добавить переменную со значением текущего имени файла?

def usr_eater2(directory):
    df = pd.read_csv(
    directory, 
    delimiter=' ', 
    names=['1', '2', '3', '4', '5', '6', '7', '8'],
    encoding_errors='ignore',
    encoding='cp1251'
    )
    df_grouped = df[df['3']=="Зашел"].groupby(['1', '2'])['3'].count().sort_values(ascending=False)\
    .reset_index()
    df_grouped.to_csv(name, encoding='cp1251')
    return df_grouped

Ответы (1 шт):

Автор решения: Universall

os.walk проходит по всем файлам из указанной директории и возвращает их имена.

Пример:

import os

dir_path = "./test/"

for root, dirs, files in os.walk(dir_path, topdown=False):
    for name in files:
        file_path = os.path.join(root, name)
        with open(file_path, "w") as file:
            ...

Подробнее

→ Ссылка