Ir al contenido principal

Subir/Descargar archivos vía FTP

Bueno, esta receta la encontré alguna vez que necesitaba algo de ftp con Python, no es de mi autoría debo aclarar:

Para descargar arhivos
#!/usr/bin/python
# DESCRIPTION: Python script that connects to a FTP server and gets some Shapefiles from
# AUTHOR: Nacho Uve
# DATE : May 2008
# LICENSE: GPL2 or greater
from ftplib import FTP

ftp = FTP('ftp.miservidor.com');

ftp.login(user='miusuario', passwd='miclave')
ftp.cwd("/directorio/archivo.txt");
# OPTION: To get a 'ls -l' list

# dirs = []
# # Used a callback to 'dirs' # ftp.dir(dirs.append)
dirs = ftp.nlst()
for row in dirs:
print row
ftp.cwd(row)
# Save shapefiles in the local machine with the first word of the folder as filename
ftp.retrbinary('RETR MASA.SHP', open(row.split()[0]+'.shp','wb').write)
ftp.retrbinary('RETR MASA.SHX', open(row.split()[0]+'.shx','wb').write)
ftp.retrbinary('RETR MASA.DBF', open(row.split()[0]+'.dbf','wb').write)
ftp.cwd('..')
ftp.quit()


Para subir archivos (basada en la web http://nideaderedes.urlansoft.com/2008/09/03/python-subir-archivos-a-un-ftp/)
#!/usr/bin/env python
# -*- coding: cp1252 -*-

import ftplib
import os

# Datos FTP
ftp_servidor = 'ftp.miservidor.com' # Servidor ftp
ftp_usuario = 'miusuario' # Nombre de usuario del Servidor
ftp_clave = '*****' # Clave para accesar el servidor
ftp_raiz = '/public_html' # Carpeta del servidor donde queremos subir el fichero

# Datos del fichero a subir
fichero_origen = '/home/maengora/mifichero.zip' # Ruta al fichero que vamos a subir
fichero_destino = 'mifichero.zip' # Nombre que tendrá el fichero en el servidor

# Conectamos con el servidor
try:
s = ftplib.FTP(ftp_servidor, ftp_usuario, ftp_clave)
try:
f = open(fichero_origen, 'rb')
s.cwd(ftp_raiz)
s.storbinary('STOR ' + fichero_destino, f)
f.close()
s.quit()
except:
print "No se ha podido encontrar el fichero " + fichero_origen
except:
print "No se ha podido conectar al servidor " + ftp_servidor

Aquí otras webs que pueden servir de referencia:
http://skarvin.blogspot.com/2008/02/python-subir-ficheros-ftp.html
http://pyspanishdoc.sourceforge.net/lib/module-ftplib.html

Comentarios

Unknown ha dicho que…
Homa Manuel,

Soy Gu, el administrador de Gubuntu.es y me gustaría que contactaras conmigo ya que me gustaría contar con tu colaboración en la revista. Si te interesa, claro está. En cualquier caso me gustaría que me escribieras a gubuntu.es@gmail.com para charlar.
Escribo un comentario porque no he encontrado tu email por ningún sitio.

Un saludo,

Entradas populares de este blog

Conexi - Python, Control de existencias

He decidido colgar en la web una aplicación que hice hace ya muchos días utilizando Python , las Wx , VisualWx y MySQL para la plataforma windows. El programa lo bautice CONEXI (Control de Existencias), sirve para la administración del inventario que rota entre bodegas ubicadas en diferentes ciudades pero que son de la misma empresa. El software fue creado para un almacén de electrodomésticos de mi pueblo que tiene sedes en dos ciudades y que necesita saber que colchón, nevera, tv, etc; fue despacha desde y hacia dónde y qué existencias quedaron en cada bodega. No se si me hice entender ;) Puedes descargar el código fuente desde aquí y si tienes alguna inquietud o no te funciona algo me puedes enviar un mail .

Tutorial Boa Constructor Showmedo

Para aquellos interesados en consultar otros video tutoriales sobre Python con Boa-Constructor sin importar el idioma, pueden consultar este link el cual les llevará directamente a una serie de 9 tutoriales sobre Boa-Constructor alojados en la web de Showmedo .

Lección No. 8

Nuevamente retomaremos la lección 6 con sus últimas modificaciones, o sea, la de la Lección No. 7, con el fin de aprender a hacer reportes de dos tipos: en html para visualizar en el navegador y en formato pdf. Materiales para esta lección El material de la lección número 6 El ReportLab que lo encontramos en..... 2 iconos de 16x16 para el menú reporte html y reporte pdf Lección No. 8 Recuperamos la última modificación que reposa en la lección No. 7, creamos un menú denominado Reportes y debajo de éste se mostrarán las opciones: Formato html y Formato Pdf, agregamos los íconos para el menú. Algo parecido a esto es lo que debemos tener: Y sin más preámbulos vamos a programar el menú Formato html; creamos entonces una función (ya debes saber cómo crear una función para un menú, si no es así entonces te recomiendo que leas las lecciones anteriores) a la que denominaremos genera_html y este es el código: En la parte superior del código debemos colocar las librerías que vamos a utilizar, as...