मैं एक फ्लास्क प्रोजेक्ट पर काम कर रहा था, एपीआई रैपर से कुछ डेटा प्राप्त कर रहा था। रैपर ने जनरेटर ऑब्जेक्ट वापस कर दिया, इसलिए मैं print
मानों (for obj in gen_object: print obj
) को फ्लास्क के render_template()
पर पास करने से पहले मानता हूं।क्या पाइथन जनरेटर ऑब्जेक्ट्स ट्रैवर्स होने के बाद "अनुपयोगी" बन जाते हैं?
ऑब्जेक्ट्स में print
जबकि पृष्ठ का अनुरोध करते समय, पृष्ठ खाली है। लेकिन for
लूप को हटाकर पृष्ठ जनरेटर ऑब्जेक्ट की सामग्री प्रस्तुत करता है।
@app.route('/')
def front_page():
top_stories = r.get_front_page(limit=10)
# this for loop prevents the template from rendering the stories
for s in top_stories:
print s
return render_template('template.html', stories=top_stories)
यह किसी भी सूची का उपयोग करने से अधिक मेमोरी कुशल नहीं हो सकता है, इस पर निर्भर करता है कि टेड इटरेटर के अलग-अलग उपयोग अलग-अलग होते हैं। – hop