{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Accediendo a servidores con FTP\n", "\n", "La biblioteca estandar de python nos permite acceder de una manera simple a servidores FTP haciendo uso del modulo *[ftplib](https://docs.python.org/3.5/library/ftplib.html)*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'230 Login successful.'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from ftplib import FTP\n", "import os\n", "\n", "url = 'ftp.cpc.ncep.noaa.gov'\n", "ftp = FTP(url) # connect to host, default port\n", "ftp.login() # user anonymous, passwd anonymous@" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notar que aunte que no exista necesidad de hacer un login en el servidor, de todas maneras hay que utilizar el método *.login()*\n", "\n", "## Elementos del directorio" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-rwxr-xr-x 1 ftp ftp 587104 May 19 2014 prate.01.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 530096 May 19 2014 prate.01.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 570816 May 19 2014 prate.01.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 597516 May 19 2014 prate.01.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.01.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 611542 May 19 2014 prate.01.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.01.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 578960 Sep 01 2015 prate.01.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 587104 May 19 2014 prate.02.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 538240 May 19 2014 prate.02.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 554528 May 19 2014 prate.02.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 597516 May 19 2014 prate.02.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.02.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 619688 May 19 2014 prate.02.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.02.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 570816 Sep 01 2015 prate.02.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 587104 May 19 2014 prate.03.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 538240 May 19 2014 prate.03.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 554528 May 19 2014 prate.03.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 597516 May 19 2014 prate.03.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.03.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 May 19 2014 prate.03.GFDL_FLORa06.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 May 19 2014 prate.03.GFDL_FLORb01.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 619688 May 19 2014 prate.03.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.03.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 570816 Sep 01 2015 prate.03.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 513718 May 19 2014 prate.04.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 554528 May 19 2014 prate.04.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 546384 May 19 2014 prate.04.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 597516 May 19 2014 prate.04.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.04.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 May 19 2014 prate.04.GFDL_FLORa06.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 May 19 2014 prate.04.GFDL_FLORb01.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 619688 May 19 2014 prate.04.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.04.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 578960 Sep 01 2015 prate.04.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 513718 May 19 2014 prate.05.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 562672 May 19 2014 prate.05.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 546384 May 19 2014 prate.05.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 597516 May 19 2014 prate.05.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.05.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 619688 May 19 2014 prate.05.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.05.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 587104 Sep 01 2015 prate.05.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 578960 May 19 2014 prate.06.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 546384 May 19 2014 prate.06.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 554528 May 19 2014 prate.06.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 581408 May 19 2014 prate.06.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.06.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 619688 May 19 2014 prate.06.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.06.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 587104 Sep 01 2015 prate.06.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 505572 May 19 2014 prate.07.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 546384 May 19 2014 prate.07.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 562672 May 19 2014 prate.07.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 581408 May 19 2014 prate.07.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.07.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 611542 May 19 2014 prate.07.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.07.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 587104 Sep 01 2015 prate.07.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 570816 May 19 2014 prate.08.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 546384 May 19 2014 prate.08.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 587104 May 19 2014 prate.08.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 581408 May 19 2014 prate.08.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.08.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 603396 May 19 2014 prate.08.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.08.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 587104 Sep 01 2015 prate.08.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 570816 May 19 2014 prate.09.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 538240 May 19 2014 prate.09.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 587104 May 19 2014 prate.09.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 581408 May 19 2014 prate.09.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.09.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 587104 May 19 2014 prate.09.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.09.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 570816 Sep 01 2015 prate.09.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 570816 May 19 2014 prate.10.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 530096 May 19 2014 prate.10.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 587104 May 19 2014 prate.10.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 581408 May 19 2014 prate.10.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.10.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 587104 May 19 2014 prate.10.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.10.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 570816 Sep 01 2015 prate.10.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 578960 May 19 2014 prate.11.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 530096 May 19 2014 prate.11.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 578960 May 19 2014 prate.11.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 589462 May 19 2014 prate.11.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.11.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 595250 May 19 2014 prate.11.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.11.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 570816 Sep 01 2015 prate.11.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 587104 May 19 2014 prate.12.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.12.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 570816 May 19 2014 prate.12.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 597516 May 19 2014 prate.12.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 807300 Sep 01 2015 prate.12.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 603396 May 19 2014 prate.12.NASA.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 521952 May 19 2014 prate.12.NCAR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 570816 Sep 01 2015 prate.12.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1124848 Dec 14 2015 tmp2m.01.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1124848 Dec 14 2015 tmp2m.01.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1193948 Dec 14 2015 tmp2m.01.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1193948 Sep 01 2015 tmp2m.01.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 904766 Dec 14 2015 tmp2m.01.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 896620 Sep 01 2015 tmp2m.01.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 904766 Dec 14 2015 tmp2m.02.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 904766 Dec 14 2015 tmp2m.02.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 959992 Dec 14 2015 tmp2m.02.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1193948 Sep 01 2015 tmp2m.02.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 904766 Dec 14 2015 tmp2m.02.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 904766 Sep 01 2015 tmp2m.02.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 912912 Dec 14 2015 tmp2m.03.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 912912 Dec 14 2015 tmp2m.03.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 968048 Dec 14 2015 tmp2m.03.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1193948 Sep 01 2015 tmp2m.03.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 912912 Dec 14 2015 tmp2m.03.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 912912 Sep 01 2015 tmp2m.03.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 904766 Dec 14 2015 tmp2m.04.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 912912 Dec 14 2015 tmp2m.04.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 959992 Dec 14 2015 tmp2m.04.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1185892 Sep 01 2015 tmp2m.04.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 904766 Dec 14 2015 tmp2m.04.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 904766 Sep 01 2015 tmp2m.04.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 896620 Dec 14 2015 tmp2m.05.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 904766 Dec 14 2015 tmp2m.05.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 951936 Dec 14 2015 tmp2m.05.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1177836 Sep 01 2015 tmp2m.05.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 896620 Dec 14 2015 tmp2m.05.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 896620 Sep 01 2015 tmp2m.05.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 888474 Dec 14 2015 tmp2m.06.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 896620 Dec 14 2015 tmp2m.06.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 943880 Dec 14 2015 tmp2m.06.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1177836 Sep 01 2015 tmp2m.06.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 888474 Dec 14 2015 tmp2m.06.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 888474 Sep 01 2015 tmp2m.06.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 880328 Dec 14 2015 tmp2m.07.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 888474 Dec 14 2015 tmp2m.07.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 935824 Dec 14 2015 tmp2m.07.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1177836 Sep 01 2015 tmp2m.07.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 880328 Dec 14 2015 tmp2m.07.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 880328 Sep 01 2015 tmp2m.07.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 880328 Dec 14 2015 tmp2m.08.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 880328 Dec 14 2015 tmp2m.08.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1177836 Dec 14 2015 tmp2m.08.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1177836 Sep 01 2015 tmp2m.08.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 994442 Dec 14 2015 tmp2m.08.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 880328 Sep 01 2015 tmp2m.08.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 880328 Dec 14 2015 tmp2m.09.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 880328 Dec 14 2015 tmp2m.09.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1177836 Dec 14 2015 tmp2m.09.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1177836 Sep 01 2015 tmp2m.09.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1002588 Dec 14 2015 tmp2m.09.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 880328 Sep 01 2015 tmp2m.09.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1100410 Dec 14 2015 tmp2m.10.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 880328 Dec 14 2015 tmp2m.10.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 880328 Dec 14 2015 tmp2m.10.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1177836 Dec 14 2015 tmp2m.10.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1177836 Sep 01 2015 tmp2m.10.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 896620 Dec 14 2015 tmp2m.10.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 880328 Sep 01 2015 tmp2m.10.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 880328 Dec 14 2015 tmp2m.11.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 880328 Dec 14 2015 tmp2m.11.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1177836 Dec 14 2015 tmp2m.11.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1177836 Sep 01 2015 tmp2m.11.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1010734 Dec 14 2015 tmp2m.11.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 880328 Sep 01 2015 tmp2m.11.NCAR_CCSM4.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1108556 Dec 14 2015 tmp2m.12.CFSv2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1116702 Dec 14 2015 tmp2m.12.CMC1.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1116702 Dec 14 2015 tmp2m.12.CMC2.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1185892 Dec 14 2015 tmp2m.12.GFDL.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 1185892 Sep 01 2015 tmp2m.12.GFDL_FLOR.clim.1x1.grb\n", "-rwxr-xr-x 1 ftp ftp 1010734 Dec 14 2015 tmp2m.12.NASA.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 888474 Sep 01 2015 tmp2m.12.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 896620 Aug 01 2013 tmpsfc.01.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.01.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.01.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 912912 Aug 01 2013 tmpsfc.02.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.02.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.02.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 912912 Aug 01 2013 tmpsfc.03.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.03.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.03.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 790652 Aug 01 2013 tmpsfc.04.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.04.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.04.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 782506 Aug 01 2013 tmpsfc.05.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.05.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.05.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 888474 Aug 01 2013 tmpsfc.06.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.06.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.06.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 766214 Aug 01 2013 tmpsfc.07.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.07.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.07.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 766214 Aug 22 2014 tmpsfc.08.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.08.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.08.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 766214 Sep 09 2014 tmpsfc.09.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.09.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.09.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 880328 Aug 01 2013 tmpsfc.10.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.10.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.10.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 880328 Aug 01 2013 tmpsfc.11.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.11.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.11.NCAR_CCSM4.clim.1x1.grb\n", "-rwxrwxr-x 1 ftp ftp 888474 Aug 01 2013 tmpsfc.12.CFSv2.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 657660 Sep 01 2015 tmpsfc.12.GFDL_FLOR.clim.1x1.grb\n", "-rw-r--r-- 1 ftp ftp 580464 Sep 01 2015 tmpsfc.12.NCAR_CCSM4.clim.1x1.grb\n" ] } ], "source": [ "ftp.cwd('/NMME/clim/')\n", "ftp.dir()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['prate.01.CFSv2.clim.1x1.grb', 'prate.01.CMC1.clim.1x1.grb', 'prate.01.CMC2.clim.1x1.grb', 'prate.01.GFDL.clim.1x1.grb', 'prate.01.GFDL_FLOR.clim.1x1.grb', 'prate.01.NASA.clim.1x1.grb', 'prate.01.NCAR.clim.1x1.grb', 'prate.01.NCAR_CCSM4.clim.1x1.grb', 'prate.02.CFSv2.clim.1x1.grb', 'prate.02.CMC1.clim.1x1.grb', 'prate.02.CMC2.clim.1x1.grb', 'prate.02.GFDL.clim.1x1.grb', 'prate.02.GFDL_FLOR.clim.1x1.grb', 'prate.02.NASA.clim.1x1.grb', 'prate.02.NCAR.clim.1x1.grb', 'prate.02.NCAR_CCSM4.clim.1x1.grb', 'prate.03.CFSv2.clim.1x1.grb', 'prate.03.CMC1.clim.1x1.grb', 'prate.03.CMC2.clim.1x1.grb', 'prate.03.GFDL.clim.1x1.grb', 'prate.03.GFDL_FLOR.clim.1x1.grb', 'prate.03.GFDL_FLORa06.clim.1x1.grb', 'prate.03.GFDL_FLORb01.clim.1x1.grb', 'prate.03.NASA.clim.1x1.grb', 'prate.03.NCAR.clim.1x1.grb', 'prate.03.NCAR_CCSM4.clim.1x1.grb', 'prate.04.CFSv2.clim.1x1.grb', 'prate.04.CMC1.clim.1x1.grb', 'prate.04.CMC2.clim.1x1.grb', 'prate.04.GFDL.clim.1x1.grb', 'prate.04.GFDL_FLOR.clim.1x1.grb', 'prate.04.GFDL_FLORa06.clim.1x1.grb', 'prate.04.GFDL_FLORb01.clim.1x1.grb', 'prate.04.NASA.clim.1x1.grb', 'prate.04.NCAR.clim.1x1.grb', 'prate.04.NCAR_CCSM4.clim.1x1.grb', 'prate.05.CFSv2.clim.1x1.grb', 'prate.05.CMC1.clim.1x1.grb', 'prate.05.CMC2.clim.1x1.grb', 'prate.05.GFDL.clim.1x1.grb', 'prate.05.GFDL_FLOR.clim.1x1.grb', 'prate.05.NASA.clim.1x1.grb', 'prate.05.NCAR.clim.1x1.grb', 'prate.05.NCAR_CCSM4.clim.1x1.grb', 'prate.06.CFSv2.clim.1x1.grb', 'prate.06.CMC1.clim.1x1.grb', 'prate.06.CMC2.clim.1x1.grb', 'prate.06.GFDL.clim.1x1.grb', 'prate.06.GFDL_FLOR.clim.1x1.grb', 'prate.06.NASA.clim.1x1.grb', 'prate.06.NCAR.clim.1x1.grb', 'prate.06.NCAR_CCSM4.clim.1x1.grb', 'prate.07.CFSv2.clim.1x1.grb', 'prate.07.CMC1.clim.1x1.grb', 'prate.07.CMC2.clim.1x1.grb', 'prate.07.GFDL.clim.1x1.grb', 'prate.07.GFDL_FLOR.clim.1x1.grb', 'prate.07.NASA.clim.1x1.grb', 'prate.07.NCAR.clim.1x1.grb', 'prate.07.NCAR_CCSM4.clim.1x1.grb', 'prate.08.CFSv2.clim.1x1.grb', 'prate.08.CMC1.clim.1x1.grb', 'prate.08.CMC2.clim.1x1.grb', 'prate.08.GFDL.clim.1x1.grb', 'prate.08.GFDL_FLOR.clim.1x1.grb', 'prate.08.NASA.clim.1x1.grb', 'prate.08.NCAR.clim.1x1.grb', 'prate.08.NCAR_CCSM4.clim.1x1.grb', 'prate.09.CFSv2.clim.1x1.grb', 'prate.09.CMC1.clim.1x1.grb', 'prate.09.CMC2.clim.1x1.grb', 'prate.09.GFDL.clim.1x1.grb', 'prate.09.GFDL_FLOR.clim.1x1.grb', 'prate.09.NASA.clim.1x1.grb', 'prate.09.NCAR.clim.1x1.grb', 'prate.09.NCAR_CCSM4.clim.1x1.grb', 'prate.10.CFSv2.clim.1x1.grb', 'prate.10.CMC1.clim.1x1.grb', 'prate.10.CMC2.clim.1x1.grb', 'prate.10.GFDL.clim.1x1.grb', 'prate.10.GFDL_FLOR.clim.1x1.grb', 'prate.10.NASA.clim.1x1.grb', 'prate.10.NCAR.clim.1x1.grb', 'prate.10.NCAR_CCSM4.clim.1x1.grb', 'prate.11.CFSv2.clim.1x1.grb', 'prate.11.CMC1.clim.1x1.grb', 'prate.11.CMC2.clim.1x1.grb', 'prate.11.GFDL.clim.1x1.grb', 'prate.11.GFDL_FLOR.clim.1x1.grb', 'prate.11.NASA.clim.1x1.grb', 'prate.11.NCAR.clim.1x1.grb', 'prate.11.NCAR_CCSM4.clim.1x1.grb', 'prate.12.CFSv2.clim.1x1.grb', 'prate.12.CMC1.clim.1x1.grb', 'prate.12.CMC2.clim.1x1.grb', 'prate.12.GFDL.clim.1x1.grb', 'prate.12.GFDL_FLOR.clim.1x1.grb', 'prate.12.NASA.clim.1x1.grb', 'prate.12.NCAR.clim.1x1.grb', 'prate.12.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.01.CMC1.clim.1x1.grb', 'tmp2m.01.CMC2.clim.1x1.grb', 'tmp2m.01.GFDL.clim.1x1.grb', 'tmp2m.01.GFDL_FLOR.clim.1x1.grb', 'tmp2m.01.NASA.clim.1x1.grb', 'tmp2m.01.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.02.CMC1.clim.1x1.grb', 'tmp2m.02.CMC2.clim.1x1.grb', 'tmp2m.02.GFDL.clim.1x1.grb', 'tmp2m.02.GFDL_FLOR.clim.1x1.grb', 'tmp2m.02.NASA.clim.1x1.grb', 'tmp2m.02.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.03.CMC1.clim.1x1.grb', 'tmp2m.03.CMC2.clim.1x1.grb', 'tmp2m.03.GFDL.clim.1x1.grb', 'tmp2m.03.GFDL_FLOR.clim.1x1.grb', 'tmp2m.03.NASA.clim.1x1.grb', 'tmp2m.03.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.04.CMC1.clim.1x1.grb', 'tmp2m.04.CMC2.clim.1x1.grb', 'tmp2m.04.GFDL.clim.1x1.grb', 'tmp2m.04.GFDL_FLOR.clim.1x1.grb', 'tmp2m.04.NASA.clim.1x1.grb', 'tmp2m.04.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.05.CMC1.clim.1x1.grb', 'tmp2m.05.CMC2.clim.1x1.grb', 'tmp2m.05.GFDL.clim.1x1.grb', 'tmp2m.05.GFDL_FLOR.clim.1x1.grb', 'tmp2m.05.NASA.clim.1x1.grb', 'tmp2m.05.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.06.CMC1.clim.1x1.grb', 'tmp2m.06.CMC2.clim.1x1.grb', 'tmp2m.06.GFDL.clim.1x1.grb', 'tmp2m.06.GFDL_FLOR.clim.1x1.grb', 'tmp2m.06.NASA.clim.1x1.grb', 'tmp2m.06.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.07.CMC1.clim.1x1.grb', 'tmp2m.07.CMC2.clim.1x1.grb', 'tmp2m.07.GFDL.clim.1x1.grb', 'tmp2m.07.GFDL_FLOR.clim.1x1.grb', 'tmp2m.07.NASA.clim.1x1.grb', 'tmp2m.07.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.08.CMC1.clim.1x1.grb', 'tmp2m.08.CMC2.clim.1x1.grb', 'tmp2m.08.GFDL.clim.1x1.grb', 'tmp2m.08.GFDL_FLOR.clim.1x1.grb', 'tmp2m.08.NASA.clim.1x1.grb', 'tmp2m.08.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.09.CMC1.clim.1x1.grb', 'tmp2m.09.CMC2.clim.1x1.grb', 'tmp2m.09.GFDL.clim.1x1.grb', 'tmp2m.09.GFDL_FLOR.clim.1x1.grb', 'tmp2m.09.NASA.clim.1x1.grb', 'tmp2m.09.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.10.CFSv2.clim.1x1.grb', 'tmp2m.10.CMC1.clim.1x1.grb', 'tmp2m.10.CMC2.clim.1x1.grb', 'tmp2m.10.GFDL.clim.1x1.grb', 'tmp2m.10.GFDL_FLOR.clim.1x1.grb', 'tmp2m.10.NASA.clim.1x1.grb', 'tmp2m.10.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.11.CMC1.clim.1x1.grb', 'tmp2m.11.CMC2.clim.1x1.grb', 'tmp2m.11.GFDL.clim.1x1.grb', 'tmp2m.11.GFDL_FLOR.clim.1x1.grb', 'tmp2m.11.NASA.clim.1x1.grb', 'tmp2m.11.NCAR_CCSM4.clim.1x1.grb', 'tmp2m.12.CFSv2.clim.1x1.grb', 'tmp2m.12.CMC1.clim.1x1.grb', 'tmp2m.12.CMC2.clim.1x1.grb', 'tmp2m.12.GFDL.clim.1x1.grb', 'tmp2m.12.GFDL_FLOR.clim.1x1.grb', 'tmp2m.12.NASA.clim.1x1.grb', 'tmp2m.12.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.01.CFSv2.clim.1x1.grb', 'tmpsfc.01.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.01.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.02.CFSv2.clim.1x1.grb', 'tmpsfc.02.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.02.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.03.CFSv2.clim.1x1.grb', 'tmpsfc.03.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.03.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.04.CFSv2.clim.1x1.grb', 'tmpsfc.04.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.04.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.05.CFSv2.clim.1x1.grb', 'tmpsfc.05.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.05.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.06.CFSv2.clim.1x1.grb', 'tmpsfc.06.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.06.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.07.CFSv2.clim.1x1.grb', 'tmpsfc.07.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.07.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.08.CFSv2.clim.1x1.grb', 'tmpsfc.08.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.08.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.09.CFSv2.clim.1x1.grb', 'tmpsfc.09.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.09.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.10.CFSv2.clim.1x1.grb', 'tmpsfc.10.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.10.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.11.CFSv2.clim.1x1.grb', 'tmpsfc.11.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.11.NCAR_CCSM4.clim.1x1.grb', 'tmpsfc.12.CFSv2.clim.1x1.grb', 'tmpsfc.12.GFDL_FLOR.clim.1x1.grb', 'tmpsfc.12.NCAR_CCSM4.clim.1x1.grb']\n" ] } ], "source": [ "filenames = ftp.nlst() # get filenames within the directory\n", "print(filenames)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Descargando un archivo via FTP\n", "\n", "Supongamos que queremos descargar un solo archivo del servidor. Para esto necesitamos abrir un archivo local en el cual vamos a guardar la descarga. Recuerden que es necesario cerrar el archivo en donde realizamos la descarga una vez finalizada esta." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "filename = 'prate.01.CFSv2.clim.1x1.grb'\n", "\n", "# Path al archivo local donde lo vamos a guardar\n", "local_filename = os.path.join('data', filename)\n", "file = open(local_filename, 'wb')\n", "ftp.retrbinary('RETR '+ filename, file.write)\n", "\n", "file.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Descarga de multiples archivos\n", "\n", "En el caso en que querramos descargar todos los archivos que hay en algún directorio del servidor vamos a hacer:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Lista con el nombre de todos los elementos dentro del directoryio\n", "filenames = ftp.nlst()\n", "\n", "for filename in filenames:\n", " local_filename = os.path.join('data', filename)\n", " file = open(local_filename, 'wb')\n", " ftp.retrbinary('RETR '+ filename, file.write)\n", "\n", " file.close()\n", "\n", "ftp.quit() # This is the “polite” way to close a connection" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lo más probable es que, dentro de este directorio, existan varios otros archivos que no estemos interesados en descargarlos. Supongamos que solo nos interesa los archivos que tengan la terminación *.grd*" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "for filename in filenames:\n", " if filename.endswith('.grd'):\n", " local_filename = os.path.join('data', filename)\n", " file = open(local_filename, 'wb')\n", " ftp.retrbinary('RETR '+ filename, file.write)\n", "\n", " file.close()" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Este css es trabajo de @LorenaABarba y su grupo\n", "from IPython.core.display import HTML\n", "css_file = '../css/personal.css'\n", "HTML(open(css_file, \"r\").read())" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 0 }