سلام
این خطا رو بهم داد
البته هر چیزی که ایشون گفتند نوشتم خودم یک کلمه هم از محتوای این سر فصل یاد نگرفتم
سلام،
کدهاتون رو قرار بدید.
اینکه تا اینجای دوره چیزی متوجه نشدید، نشان دهنده ی اینست باید بیشتر تمرین کنید.
خیر مهندس منظورم این سرفصل بود
یه خورده سخته برای من که مبتدی هستم .ولی حتما یادش میگیرم.
import requests import json def get_reads(): url = 'https://api.exchangerate.host/latest' response = requests.get(url) if response.status_code == 200: return json.loads(response.text) return None def archive(filename ,reads): with open(f'archive/{filename}.json', 'w')as f: f.write(json.dumps(reads)) if __name__ == '__main__': response = get_reads() archive(response['timestamp'], response['reads'])
در خروجی timestamp وجود ندارد. کافیه خط archive رو # بذارید و کامنت کنید و بجاش بنویسید print(response) تا ببینید چه مقداری در response وجود دارد.
خروجی که من گرفتم اینست:
{'motd': {'msg': 'If you or your company use this project or like what we doing, please consider backing us so we can continue maintaining and evolving this project.', 'url': 'https://exchangerate.host/#/donate'}, 'success': True, 'base': 'EUR', 'date': '2023-09-09', 'rates': {'AED': 3.931408, 'AFN': 83.473841, 'ALL': 107.766985, 'AMD': 412.721774, 'ANG': 1.928732, 'AOA': 886.635815, 'ARS': 374.56003, 'AUD': 1.676336, 'AWG': 1.926569, 'AZN': 1.819368, 'BAM': 1.956521, 'BBD': 2.140053, 'BDT': 117.431819, 'BGN': 1.955382, 'BHD': 0.404148, 'BIF': 3029.980414, 'BMD': 1.070726, 'BND': 1.460805, 'BOB': 7.393721, 'BRL': 5.336554, 'BSD': 1.071068, 'BTC': 4.1e-05, 'BTN': 88.805992, 'BWP': 14.648052, 'BYN': 2.701354, 'BZD': 2.157027, 'CAD': 1.462545, 'CDF': 2670.07456, 'CHF': 0.955832, 'CLF': 0.035324, 'CLP': 958.948027, 'CNH': 7.882529, 'CNY': 7.858169, 'COP': 4300.696712, 'CRC': 573.261168, 'CUC': 1.071325, 'CUP': 27.557457, 'CVE': 110.629711, 'CZK': 24.401689, 'DJF': 190.306847, 'DKK': 7.459486, 'DOP': 60.732614, 'DZD': 146.72136, 'EGP': 33.037936, 'ERN': 16.053618, 'ETB': 58.99458, 'EUR': 1, 'FJD': 2.434396, 'FKP': 0.859017, 'GBP': 0.858932, 'GEL': 2.803839, 'GGP': 0.859316, 'GHS': 12.264185, 'GIP': 0.859204, 'GMD': 64.799487, 'GNF': 9203.462356, 'GTQ': 8.420929, 'GYD': 223.862325, 'HKD': 8.391019, 'HNL': 26.700501, 'HRK': 7.536687, 'HTG': 144.448768, 'HUF': 385.604068, 'IDR': 16461.034214, 'ILS': 4.113794, 'IMP': 0.858904, 'INR': 88.872497, 'IQD': 1401.923577, 'IRR': 45230.735624, 'ISK': 143.724555, 'JEP': 0.859128, 'JMD': 165.289335, 'JOD': 0.758556, 'JPY': 158.188016, 'KES': 156.405648, 'KGS': 94.580229, 'KHR': 4441.206451, 'KMF': 492.546182, 'KPW': 963.15327, 'KRW': 1430.079343, 'KWD': 0.329986, 'KYD': 0.89222, 'KZT': 496.935554, 'LAK': 21055.595062, 'LBP': 16098.644325, 'LKR': 345.346905, 'LRD': 199.319645, 'LSL': 20.457253, 'LYD': 5.190721, 'MAD': 10.874294, 'MDL': 19.154038, 'MGA': 4789.011615, 'MKD': 61.544302, 'MMK': 2246.940537, 'MNT': 3692.086776, 'MOP': 8.641045, 'MRU': 40.773256, 'MUR': 48.317429, 'MVR': 16.545225, 'MWK': 1158.460027, 'MXN': 18.832206, 'MYR': 5.005176, 'MZN': 68.384296, 'NAD': 20.457075, 'NGN': 840.61883, 'NIO': 39.147744, 'NOK': 11.431058, 'NPR': 142.090656, 'NZD': 1.81737, 'OMR': 0.412582, 'PAB': 1.070875, 'PEN': 3.962252, 'PGK': 3.822587, 'PHP': 60.647017, 'PKR': 328.944456, 'PLN': 4.619033, 'PYG': 7771.422285, 'QAR': 3.897726, 'RON': 4.964365, 'RSD': 117.046702, 'RUB': 104.609963, 'RWF': 1284.204618, 'SAR': 4.014518, 'SBD': 8.994187, 'SCR': 13.803667, 'SDG': 643.17242, 'SEK': 11.908278, 'SGD': 1.460925, 'SHP': 0.859391, 'SLL': 22440.930717, 'SOS': 609.463032, 'SRD': 41.087445, 'SSP': 139.400717, 'STD': 23845.314641, 'STN': 24.774446, 'SVC': 9.36282, 'SYP': 2688.834684, 'SZL': 20.451111, 'THB': 38.028555, 'TJS': 11.743865, 'TMT': 3.756832, 'TND': 3.347475, 'TOP': 2.566975, 'TRY': 28.729429, 'TTD': 7.254521, 'TWD': 34.341663, 'TZS': 2680.309742, 'UAH': 39.51615, 'UGX': 4000.707078, 'USD': 1.07109, 'UYU': 40.53803, 'UZS': 12997.214639, 'VES': 36.584006, 'VND': 25746.902717, 'VUV': 127.053431, 'WST': 2.909925, 'XAF': 655.619535, 'XAG': 0.04741, 'XAU': 0.001286, 'XCD': 2.892626, 'XDR': 0.804824, 'XOF': 655.619911, 'XPD': 0.001507, 'XPF': 119.270699, 'XPT': 0.001783, 'YER': 267.971544, 'ZAR': 20.467022, 'ZMW': 22.229361, 'ZWL': 344.59538}}
ضمن اینکه کلید read هم در خروجی وجود ندارد.
میتوانید بجای timestamp و read از date و rates استفاده کنید.
یعنی خط آخر کد شما میشود:
archive(response['date'], response['rates'])
ضمناً فولدر archive هم ایجاد کرده باشید تا فایل جدید داخل این فولدر ساخته شود.
سلام مشکل حل شد
سپاس گذارم