Saltar al contenido

Especifique el patrón de archivo en pysftp get

Solución:

No hay ninguna función para descargar archivos que coincidan con una máscara de archivo en pysftp.

Tienes que:

  • enumerar el directorio, usando listdir o walktree (si necesita recursividad)
  • iterar la lista de archivos, filtrando los archivos que desee
  • llama get individualmente para cada uno.

Para inspirarte, mira cómo get_d o get_r son implementados.

Para una implementación trivial, consulte Listar archivos en el servidor SFTP que coinciden con comodines en Python usando Paramiko. Para ver un ejemplo recursivo, consulte Python pysftp get_r de Linux funciona bien en Linux pero no en Windows.

Puede confirmar después de revisar la documentación que no puede enumerar usando un patrón. Entonces hice algo como esto:

import pysftp
import re

server = pysftp.Connection(host=FTP_HOST,
                  username=FTP_USERNAME,
                  password=FTP_PASSWORD)
server.cwd(YOUR_FILES_PATH)
filelist = server.listdir()

for filename in filelist:
    filedate = re.search(".*.txt$", filename)
    if filedate:
        print "FOUND FILE " + filename
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *