मेरे पास निम्नलिखित पायथन कोड है:

import requests

def requestAPI(url):
  return requests.get(url=url).json()

UselessFact = RequestApi("https://uselessfacts.jsph.pl/random.json?language=en")['text']

मैं requestAPI फ़ंक्शन को छोड़कर/कोशिश करना चाहता था ताकि यह कोड को तोड़ न सके। मैंने इसके बारे में सोचा:

import requests

def requestAPI(url, keys):
  return requests.get(url=url).json() #Here is the struggle with passing the "keys" parameter into the return

UselessFact = RequestApi("https://uselessfacts.jsph.pl/random.json?language=en", ['text'])

मैं कुछ ऐसा कर सकता था:

import requests

def requestAPI(url):
  try:
    return requests.get(url=url).json() 

  except:
    return False

UselessFact = RequestApi("https://uselessfacts.jsph.pl/random.json?language=en")['text'] if (condition here) else False

लेकिन मुझे लगता है कि ऐसा करने का एक बेहतर तरीका है।

0
William Brochensque junior 14 जिंदा 2021, 05:04

1 उत्तर

सबसे बढ़िया उत्तर

आप इसे try-except के बिना dict.get() के माध्यम से प्राप्त कर सकते हैं:

def requestAPI(url, key):
    return requests.get(url=url).json().get(key, None)

यह कुंजी key के लिए मान लौटाएगा यदि यह JSON में मौजूद है अन्यथा यह None वापस आ जाएगा। यदि आप चाहते हैं कि यह False लौटाए, तो .get(key, False) करें।

1
Jarvis 14 जिंदा 2021, 05:20
1
मुझे पता था कि यह बेहतर हो सकता है! शुक्रिया!
 – 
William Brochensque junior
14 जिंदा 2021, 05:20
मैं इसे एकाधिक चाबियों के साथ कैसे कर सकता हूं? (उनमें से एक सरणी)
 – 
William Brochensque junior
14 जिंदा 2021, 15:10
1
आप इस उत्तर, या अन्य की जांच कर सकते हैं।
 – 
Jarvis
14 जिंदा 2021, 15:12