इस परिदृश्य पर विचार करें:एक पायथन जनरेटर ऑब्जेक्ट क्लोन कैसे करें?
#!/usr/bin/env python # -*- coding: utf-8 -*- import os walk = os.walk('/home') for root, dirs, files in walk: for pathname in dirs+files: print os.path.join(root, pathname) for root, dirs, files in walk: for pathname in dirs+files: print os.path.join(root, pathname)
मुझे पता है कि इस उदाहरण थोड़े बेमानी है, लेकिन आप पर विचार करना चाहिए कि हम एक बार से अधिक एक ही walk
डेटा का उपयोग करने की जरूरत है। मेरे पास एक बेंचमार्क परिदृश्य है और उपयोगी परिणाम प्राप्त करने के लिए walk
डेटा का उपयोग अनिवार्य है।
मैंने क्लोन करने के लिए walk2 = walk
की कोशिश की है और दूसरे पुनरावृत्ति में उपयोग किया है, लेकिन यह काम नहीं किया। सवाल यह है कि मैं इसे कैसे कॉपी कर सकता हूं? क्या यह कभी संभव है?
अग्रिम धन्यवाद।
क्या 'os.walk ('/ घर') का उपयोग कर के साथ गलत क्या है' दो बार? यह एक समस्या कैसी है? –
@ एस लॉट वेल, इस तरह का कार्य प्रत्येक रन पर बहुत भिन्न होता है। एक और समस्या यह है कि पहले चलाने के बाद सिस्टम शायद परिणामों को कैश करेगा, इसलिए अगले रनों में हमें अपर्याप्त परिणाम मिलेंगे। विचार पहले चलना है और फिर तर्क के रूप में इसे पारित करने वाले दो परिदृश्यों को मापना है। :) –
कैशिंग गलत परिणाम नहीं देगा। –