Foros Python

Versión completa: Consulta directorio de red
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Buenos días, 

Estoy intentando hacer un script que consulte la existencia de un fichero generado diariamente en un directorio de red

La ruta se compondría así siendo el directorio "proveedor" una variable de una lista, y el nombre del fichero con ese formato...

\\red\pedidos\proveedor\junio\pedido230601.txt

He intentado esto que he ido cogiendo de google.... 

Código:
import os
directorio_raiz = r'\\almacen\pedidos'
proveedor = ['000001', '000002', '000003']
directorio_final = 'pedidos\junio'
formato_nombre = 'pedido230601.txt'
for proveedor in proveedor:
    ruta_pedido = os.path.join(directorio_raiz, proveedor, directorio_final, formato_nombre)
    archivos_encontrados = []
    archivos_no_encontrados = []
    if os.path.isdir(ruta_pedido):
        for archivo in os.listdir(ruta_pedido):
            if archivo == formato_nombre:
                archivos_encontrados.append(archivo)
        if archivos_encontrados:
            print(f"Archivos encontrados para el proveedor '{proveedor}':")
            for archivo in archivos_encontrados:
                print(archivo)
        else:
            print(f"No se encontraron archivos para el proveedor '{proveedor}'.")
    else:
        print(f"No se encontró el directorio de el proveedor '{proveedor}'.")
    print()  

Pero solo obtengo como resultado 

No se encontró el directorio de el proveedor '000001'.

No se encontró el directorio de el proveedor '000002'.

No se encontró el directorio de el proveedor '000003'.


:-)   y si existen archivos en la ruta ...


A ver si podéis orientarme.    Muchísimas gracias
Hola, bienvenido/a.

En principio está este error relativo a usar el mismo nombre para dos variables distintas:

Código:
for proveedor in proveedor:

Sería mejor:

Código:
for proveedor in proveedores:

Cambiando también la definición de la lista más arriba:

Código:
proveedores = ['000001', '000002', '000003']

Por otro lado, recordá siempre usar una r antes de las comillas si vas a incluir barras invertidas \. Por ejemplo:

Código:
ruta = r"C:\archivos\documento.txt"

Saludos
Muchas gracias, Francisco:

Si, ya corregir esos errores, y continúo con los mismos resultados, yo creo que al componer la ruta, no estoy intercalando la variable correctamente...

veis algo en esa parte de mi código

import os
directorio_raiz = r'\\almacen\pedidos'
proveedor = ['000001', '000002', '000003']
directorio_final = 'pedidos\junio'
formato_nombre = 'pedido230601.txt'
for proveedor in proveedor:
ruta_pedido = os.path.join(directorio_raiz, proveedor, directorio_final, formato_nombre)



muchas gracias
Hola, seguís con el mismo error:

Código:
proveedor = ['000001', '000002', '000003']
directorio_final = 'pedidos\junio'
formato_nombre = 'pedido230601.txt'
for proveedor in proveedor:

Debería ser:

Código:
proveedores = ['000001', '000002', '000003']
directorio_final = 'pedidos\junio'
formato_nombre = 'pedido230601.txt'
for proveedor in proveedores:

Saludos!