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.