दिलचस्प पोस्ट
कैसे अजगर ट्यूपल्स (ए, बी) = (बी, ए) में सदस्यों का स्वैपिंग आंतरिक रूप से काम करता है? इंस्टॉल करने योग्य ISAM नहीं मिला CSS के माध्यम से एक बटन का आकार बदलना IE JavaScript त्रुटि पार्सिंग त्रुटि कूकी मूल्यों को सफेद स्थान के साथ उद्धरण चिह्नों के साथ क्लाइंट साइड क्यों आते हैं? मैं स्प्लैश स्क्रीन कैसे करूं? मौजूदा स्रोत कोड को GitHub में आयात करें मैवेन प्रोजेक्ट को मौजूदा ग्रहण परियोजना में कन्वर्ट HTTP पर पासवर्ड को सुरक्षित कैसे भेजना है? क्या यह गतिशील रूप से संकलन और सी # कोड टुकड़े निष्पादित करने के लिए संभव है? जार में लोड गुण फ़ाइल? एकाधिक फ़ाइलों को एक HTTP अनुरोध के साथ कैसे डाउनलोड करें? गतिशील रूप से एक DLL से फ़ंक्शन लोड करें उद्देश्य-सी में NSMutableArray से डुप्लिकेट मानों को निकालने का सबसे अच्छा तरीका है? NHibernate AliasToBean ट्रांसफॉर्मर एसोसिएशन

अजगर में मेमोरी एड्रेस एक्सेस करें

मेरा सवाल है: मैं अजगर में मेमोरी एड्रेस की सामग्री कैसे पढ़ सकता हूं? उदाहरण: ptr = id (7) मैं ptr द्वारा इंगित स्मृति की सामग्री को पढ़ना चाहता हूँ। धन्यवाद।

वेब के समाधान से एकत्रित समाधान "अजगर में मेमोरी एड्रेस एक्सेस करें"

Ctypes.string_at पर एक नज़र डालें यहाँ एक उदाहरण है यह एक पायथन 3 पूर्णांक के कच्चे डेटा संरचना को उछालता है उम्मीद है कि आप केवल एक व्यायाम के रूप में ऐसा कर रहे हैं। शुद्ध पायथन के साथ ऐसा करने का कोई कारण नहीं है

from ctypes import string_at from sys import getsizeof from binascii import hexlify a = 0x7fff print(hexlify(string_at(id(a), getsizeof(a)))) 

उत्पादन

 b'02000000d8191e1e01000000ff7f' 

अजगर में, आप आमतौर पर स्मृति को एक्सेस करने के लिए पॉइंटर्स का उपयोग नहीं करते हैं जब तक कि आप किसी सी एप्लिकेशन से इंटरफ़ेस न करें। यदि आपको वही जरूरत है, तो एक्सेसर फ़ंक्शन के लिए सीटीआईपी मॉड्यूल पर नज़र डालें।

"मैं स्मृति की सामग्री को पीटीआर द्वारा इंगित करना चाहता हूं"

सी में कोड लिखें। पायथन से कोड का उपयोग करें http://docs.python.org/extending/extending.html

क्या आप id(thing) के परिणाम से अजगर वस्तु को पाने के लिए "रिवर्स" id कोशिश कर रहे हैं? मुझे यह भी पता नहीं है कि यह किया जा सकता है, और यह निश्चित रूप से नहीं किया जाना चाहिए; यह कचरा संग्रह को हराने और स्मृति सुरक्षा की कमी के कारण पैदा करेगा यदि आपका प्रोग्राम ऐसा करता है, तो इसका अर्थ है कि आप चीजों ( id नंबर) के संदर्भ में प्रभावी रूप से संदर्भ देते हैं जो कि कचरा कलेक्टर को नहीं पता है संदर्भ हैं, इसलिए वह उन ऑब्जेक्ट को जारी कर सकता है जो आप अभी भी उपयोग कर रहे हैं (जो कि बाकी प्रोग्राम में होता है )।

यदि आप किसी सी एक्सटेंशन से या किसी चीज़ से वापस आ चुके पॉइंटर से कच्ची मेमोरी पढ़ने का प्रयास कर रहे हैं, तो अन्य जवाब आपकी सहायता कर सकते हैं।