Vous téléchargez et traitez des fichiers raster en Python? [fermé]


11

Je suis assez nouveau sur python et cherche des conseils pour une question qui peut sembler banale pour beaucoup.

Existe-t-il un moyen d'utiliser 'wget' dans un script python pour télécharger des fichiers raster depuis un serveur et les traiter dans le même script?

Réponses:


14

Python a urllib2 intégré, qui ouvre un objet de type pointeur de fichier à partir d'une ressource IP (HTTP, HTTPS, FTP).

import urllib2, os

# See http://data.vancouver.ca/datacatalogue/2009facetsGridSID.htm
rast_url = 'ftp://webftp.vancouver.ca/opendata/2009sid/J01.zip'
infp = urllib2.urlopen(rast_url)

Vous pouvez ensuite transférer et écrire les octets localement (c'est-à-dire les télécharger):

# Open a new file for writing, same filename as source
rast_fname = os.path.basename(rast_url)
outfp = open(rast_fname, 'wb')

# Transfer data .. this can take a while ...
outfp.write(infp.read())
outfp.close()

print('Your file is at ' + os.path.join(os.getcwd(), rast_fname))

Vous pouvez maintenant faire ce que vous voulez avec le fichier.


1
+1 Il peut sembler un peu plus compliqué de le faire de cette façon, mais il sera plus portable et plus facile à déboguer car vous n'avez pas de dépendances externes.
Sean


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.