Python'da raster dosyalarını indirme ve işleme? [kapalı]


11

Python için oldukça yeniyim ve pek çok kişi için önemsiz olabilecek bir soru için rehberlik arıyorum.

Raster dosyalarını bir sunucudan indirmek ve aynı komut dosyasında işlemek için bir python komut dosyasında 'wget' kullanmanın bir yolu var mı?

Yanıtlar:


14

Python'da bir IP kaynağından (HTTP, HTTPS, FTP) dosya işaretçisi benzeri bir nesne açan urllib2 yerleşik olarak bulunur.

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)

Daha sonra baytları yerel olarak aktarabilir ve yazabilirsiniz (yani, indirebilirsiniz):

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

Şimdi dosya ile ne istersen yapabilirsin.


1
+1 Bu şekilde yapmak biraz daha karmaşık görünebilir, ancak harici bağımlılıklarınız olmadığı için daha taşınabilir ve hata ayıklamak daha kolay olacaktır.
Sean


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.