Tải xuống và xử lý tệp raster trong Python? [đóng cửa]


11

Tôi còn khá mới với python và tìm kiếm hướng dẫn cho một câu hỏi nghe có vẻ tầm thường với nhiều người.

Có cách nào để sử dụng 'wget' trong tập lệnh python để tải xuống các tệp raster từ máy chủ và xử lý chúng trong cùng một tập lệnh không?

Câu trả lời:


14

Python có urllib2 tích hợp, mở ra một đối tượng giống như con trỏ tệp từ tài nguyên 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)

Sau đó, bạn có thể chuyển và ghi các byte cục bộ (nghĩa là tải xuống):

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

Bây giờ bạn có thể làm bất cứ điều gì bạn muốn với các tập tin.


1
+1 Có vẻ hơi phức tạp hơn khi thực hiện theo cách này nhưng nó sẽ dễ mang theo hơn và dễ gỡ lỗi hơn vì bạn không có phụ thuộc bên ngoài.
Sean


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.