Buscar el nombre de archivo y la carpeta principal utilizando regex – Python
Estoy tratando de confirmar el nombre de archivo y la carpeta principal de un archivo utilizando la biblioteca de regex y sin tener que listar explícitamente la ruta del archivo, pero estoy encontrando problemas. Quiero imprimir el nombre del archivo y también la carpeta principal del archivo, aquí está mi script:
import re
import glob
from pathlib import Path
files = [f for f in glob.glob('*.tif') if re.search('((?i)\/Image_Names\/.*_dsm.*\.tif)', f)]
for filename in files:
print(files) # listar los archivos
print(Path().resolve().parts[-2]) # listar la carpeta principal donde reside el archivo .tif
Puedo listar la carpeta principal del archivo .tif utilizando la función Path, pero no puedo listar el propio nombre del archivo. Necesito poder imprimir el nombre de archivo (dsm.tif
) y la carpeta principal (Image_Names
) explícitamente a través de regex, cualquier ayuda es muy apreciada.
davy.ai
Para imprimir el nombre del archivo (_dsm.tif) y la carpeta padre (Image_Names) explícitamente mediante expresiones regulares, puedes modificar el bucle for para extraer el nombre del archivo y la carpeta padre utilizando expresiones regulares. Aquí tienes una versión actualizada del script que debería lograr esto:
Esto debería mostrar el nombre del archivo y la carpeta padre para cada archivo coincidente. Ten en cuenta que el patrón de expresión regular utilizado en la comprensión de lista
files
también se ha modificado ligeramente para capturar archivos con_dsm
en cualquier parte de su nombre, en lugar de solo al final.