Вывод имен файлов без пути
Есть код, который выводит все файлы с расширением .php из директорий и поддиректорий:
import os
os.chdir("/opt/lampp/htdocs/phpBB3")
for root, dirs, files in os.walk(".", topdown = True):
for name in files:
if name.endswith('.php'):
print(os.path.join(root, name))
for name in dirs:
if name.endswith('.php'):
print(os.path.join(root, name))
Как сделать, чтобы названия файлов выводились без пути (без названия директорий, где они находятся), а просто имя и расширение?
Ответы (2 шт):
Автор решения: gil9red
→ Ссылка
Я бы предложил попробовать модуль pathlib, а для поиска glob:
from pathlib import Path
path = Path("/opt/lampp/htdocs/phpBB3")
for file_name in path.rglob('*.php'):
print(file_name.name)
PS.
- Path.rglob -- для рекурсивного поиска
- Path.glob -- для поиска в текущей папке
Автор решения: insolor
→ Ссылка
os.path.join(root, name) в вашем коде прикрепляет путь к имени файла. Если нужно вывести просто имя файла, то и выводите просто name:
import os
os.chdir("/opt/lampp/htdocs/phpBB3")
for root, dirs, files in os.walk(".", topdown = True):
for name in files:
if name.endswith('.php'):
print(name)
for name in dirs:
if name.endswith('.php'):
print(name)