मैं source-code पढ़ रहा हूं जो ज़िप फ़ाइल डाउनलोड करता है और डेटा को numpy array में पढ़ता है। कोड MacOS और लिनक्स पर काम करते हैं और यहाँ के लिए लगता टुकड़ा है कि मैं देख रहा हूँ है:हमें यहां अंतहीनता की आवश्यकता क्यों है?
def _read32(bytestream):
dt = numpy.dtype(numpy.uint32).newbyteorder('>')
return numpy.frombuffer(bytestream.read(4), dtype=dt)
इस समारोह निम्नलिखित संदर्भ में प्रयोग किया जाता है:
with gzip.open(filename) as bytestream:
magic = _read32(bytestream)
यह देखने के लिए यहां क्या होता है कठिन नहीं है , लेकिन मैं newbyteorder('>')
के उद्देश्य से परेशान हूं। मैंने documentation पढ़ा है, और पता है कि अंतहीनता का मतलब क्या है, लेकिन यह समझ में नहीं आता कि वास्तव में डेवलपर ने न्यूबाइटऑर्डर क्यों जोड़ा (मेरी राय में यह वास्तव में आवश्यक नहीं है)।
यदि आप लाइन 45 पर कोड को देखते हैं तो आपको 'data = numpy.frombuffer (buf, dtype = numpy.uint8) 'दिखाई देता है। यह चीजों को थोड़ा सा गड़बड़ कर देता है। कोड की इस पंक्ति में अंतहीनता निर्दिष्ट क्यों नहीं है? – emanuele
क्योंकि डेटा प्रकार 'uint8' केवल 1 बाइट लंबा है। अंतहीनता केवल बहु-बाइट डेटा प्रकारों के लिए सार्थक है। – HeyYO
thanx :) आप सही है – emanuele