পাইথন API কল পরিচালনায় খুব ভাল। এই নিবন্ধে আমরা দেখব কিভাবে আমরা মুদ্রা বিনিময় হারের জন্য API কলগুলিকে বাস্তব সময়ের পাশাপাশি ঐতিহাসিকভাবে পরিচালনা করতে পারি৷
ফরেক্স-পাইথন ব্যবহার করা
এই মডিউলটি মুদ্রা রূপান্তর হার পাওয়ার সবচেয়ে সরাসরি উপায় প্রদান করে। এতে ফাংশন এবং প্যারামিটার রয়েছে যা প্রয়োজনীয় মুদ্রা কোডের জন্য ইনপুট নিতে পারে এবং তারপরে রূপান্তরের জন্য ফলাফল দিতে পারে। নীচের উদাহরণ লাইভ রূপান্তর হার দেয়।
উদাহরণ
from forex_python.converter import CurrencyRates c = CurrencyRates() print(c.get_rate('USD', 'GBP'))
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
0.7357387755
ঐতিহাসিক মুদ্রার হার
আমরা উপরের উদাহরণে ডেটটাইম মডিউল গঠন করে একটি ডেটটাইম অবজেক্ট যোগ করি এবং এটি আমাদের নির্দিষ্ট সময় এবং তারিখে মুদ্রা বিনিময় হার দেয়।
উদাহরণ
from forex_python.converter import CurrencyRates import datetime c = CurrencyRates() dt = datetime.datetime(2020, 3, 27, 11, 21, 13, 114505) print(c.get_rate('USD', 'INR', dt))
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
75.4937596793
ওয়েব API ব্যবহার করা
অনেক API পাওয়া যায় যা একটি API কী ব্যবহার করে কল করে এবং JSON হিসাবে ফলাফল ফিরে পাওয়ার মাধ্যমে আমাদের মুদ্রার হার প্রদান করে। আমরা JSON কে একটি তালিকায় রূপান্তর করতে কোডটিকে আরও প্রসারিত করতে পারি এবং প্রয়োজনে ডেটা ফর্ম্যাট করতে পারি।
উদাহরণ
import requests # Where USD is the base currency you want to use url = 'https://v6.exchangerate-api.com/v6/336ccxxxxxxxxx8e74eac/latest/USD' # Making our request response = requests.get(url) data = response.json() # Your JSON object print(data)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
{'result': 'success', 'documentation': 'https://www.exchangerate-api.com/docs', 'terms_of_use': 'https://www.exchangerate-api.com/terms', 'time_last_update_unix': 1610323201, 'time_last_update_utc': 'Mon, 11 Jan 2021 00:00:01 +0000', 'time_next_update_unix': 1610409616, 'time_next_update_utc': 'Tue, 12 Jan 2021 00:00:16 +0000', 'base_code': 'USD', 'conversion_rates': {'USD': 1, 'AED': 3.6725, ………., 'XOF': 536.3826, 'XPF': 97.579, 'YER': 250.1264, 'ZAR': 15.2899, 'ZMW': 21.1561}}