পাইথনে রাস্টার ফাইলগুলি ডাউনলোড এবং প্রক্রিয়াজাতকরণ? [বন্ধ]


11

আমি অজগর থেকে মোটামুটি নতুন এবং এমন প্রশ্নের জন্য গাইডেন্স চাই যা অনেকের কাছেই তুচ্ছ মনে হতে পারে।

সার্ভার থেকে রাস্টার ফাইল ডাউনলোড করতে এবং একই স্ক্রিপ্টে প্রক্রিয়া করার জন্য অজগর স্ক্রিপ্টে 'উইজেট' ব্যবহার করার কোনও উপায় আছে কি?

উত্তর:


14

পাইথনের urllib2 বিল্ট-ইন রয়েছে, যা একটি আইপি রিসোর্স (এইচটিটিপি, এইচটিটিপিএস, এফটিপি) থেকে একটি ফাইল-পয়েন্টার-জাতীয় বস্তু খুলবে।

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)

তারপরে আপনি স্থানীয়ভাবে বাইটগুলি স্থানান্তর এবং লিখতে পারেন (যেমন, এটি ডাউনলোড করুন):

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

এখন আপনি ফাইলটি দিয়ে যা করতে পারেন তা করতে পারেন।


1
+1 এটি এটি করা কিছুটা জটিল মনে হতে পারে তবে এটি বহনযোগ্য এবং ডিবাগ করা সহজ হবে কারণ আপনার বাহ্যিক নির্ভরতা নেই।
শান

5

এটি সম্পাদন করার কয়েকটি উপায়। আপনি উইজেট কল করতে সাবপ্রসেস মডিউলটি ব্যবহার করতে পারেন - দেখুন http://docs.python.org/library/subprocess.html

import subprocess

retcode = subprocess.call(["wget", args])

অথবা আপনি urlib (বা urllib2) মডিউলটি http://docs.python.org/library/urllib.html ব্যবহার করে সরাসরি ফাইলটি ডাউনলোড করতে পাইথন ব্যবহার করতে পারেন । নথিতে উদাহরণ রয়েছে examples


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.