Herunterladen und Verarbeiten von Rasterdateien in Python? [geschlossen]


11

Ich bin ziemlich neu in Python und suche Anleitung für eine Frage, die für viele trivial klingen könnte.

Gibt es eine Möglichkeit, 'wget' in einem Python-Skript zu verwenden, um Rasterdateien von einem Server herunterzuladen und im selben Skript zu verarbeiten?

Antworten:


14

In Python ist urllib2 integriert, wodurch ein dateizeigerähnliches Objekt aus einer IP-Ressource (HTTP, HTTPS, FTP) geöffnet wird.

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)

Sie können die Bytes dann lokal übertragen und schreiben (dh herunterladen):

# 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))

Jetzt können Sie mit der Datei machen, was Sie wollen.


1
+1 Es mag etwas komplizierter erscheinen, dies auf diese Weise zu tun, aber es ist portabler und einfacher zu debuggen, da Sie keine externen Abhängigkeiten haben.
— Sean


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.