Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python बाइनरी डेटा सेवाएं


Python लाइब्रेरी में struct मॉड्यूल के प्रावधान C प्रकार के स्ट्रक्स और Python बाइट्स ऑब्जेक्ट के बीच रूपांतरण करने में उपयोगी हैं। इसे मॉड्यूल स्तर के फ़ंक्शन के साथ-साथ Struct क्लास और उसके मेथड द्वारा प्राप्त किया जा सकता है जैसा कि struct मॉड्यूल में परिभाषित किया गया है।

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

वर्ण बाइट ऑर्डर आकार अलाइनमेंट
@ नेटिव नेटिव नेटिव
= नेटिव मानक कोई नहीं
< लिटिल-एंडियन मानक कोई नहीं
> बिग-एंडियन मानक कोई नहीं
! नेटवर्क (= बिग-एंडियन) मानक कोई नहीं

निम्न तालिका C प्रकार के वेरिएबल को दर्शाने के लिए उपयोग किए जाने वाले फॉर्मेट वर्ण और संबंधित Python प्रकार दिखाती है।

फॉर्मेट C प्रकार Python प्रकार
x पैड बाइट कोई मान नहीं
c चार लंबाई 1 के बाइट्स
b/B हस्ताक्षरित/अहस्ताक्षरित चार पूर्णांक
? _Bool बूल
h/H शॉर्ट/अहस्ताक्षरित शॉर्ट पूर्णांक
i/I इंट/अहस्ताक्षरित इंट पूर्णांक
l/L लॉन्ग/अहस्ताक्षरित लॉन्ग पूर्णांक
f फ्लोट फ्लोट
d डबल फ्लोट
s चार[] बाइट्स
p चार[] बाइट्स
P वॉइड * पूर्णांक

struct मॉड्यूल में निम्नलिखित फ़ंक्शन परिभाषित हैं

pack()

यह फ़ंक्शन फॉर्मेट स्ट्रिंग फॉर्मेट के अनुसार मानों को पैक करके एक बाइट्स ऑब्जेक्ट लौटाता है। फॉर्मेटिंग वर्णों को फॉर्मेट द्वारा आवश्यक मानों से मेल खाना चाहिए।

unpack()

यह फ़ंक्शन फॉर्मेट स्ट्रिंग फॉर्मेट के अनुसार बफ़र से अनपैक करता है। परिणाम एक टपल है भले ही इसमें ठीक एक आइटम हो।

निम्नलिखित कोड इन फ़ंक्शन के उपयोग को दर्शाता है।

import struct
student = (1, b'Rahul', 65.75)
packed = struct.pack('I 5s f', *student)
print('packed data:', packed)
unpacked = struct.unpack('I 5s f', packed)
print('unpacked data:', unpacked)

आउटपुट

packed data: b'\x01\x00\x00\x00Rahul\x00\x00\x00\x00\x80\x83B'
unpacked data: (1, b'Rahul', 65.75)

पैकिंग/अनपैकिंग Struct क्लास में मेथड का उपयोग करके भी प्राप्त किया जा सकता है। एक Struct ऑब्जेक्ट एक बार बनाकर उसके मेथड को कॉल करना समान फॉर्मेट के साथ struct फ़ंक्शन को कॉल करने की तुलना में अधिक कुशल है क्योंकि फॉर्मेट स्ट्रिंग को केवल एक बार संकलित करने की आवश्यकता होती है।

Struct(format)

यह कंस्ट्रक्टर एक नया Struct ऑब्जेक्ट लौटाता है जो फॉर्मेट स्ट्रिंग फॉर्मेट के अनुसार बाइनरी डेटा लिखता और पढ़ता है।

pack()

यह मेथड संकलित फॉर्मेट का उपयोग करके pack() फ़ंक्शन के समान है।

unpack()

यह मेथड संकलित फॉर्मेट का उपयोग करके unpack() फ़ंक्शन के समान है।

निम्नलिखित उदाहरण दिखाता है कि Struct क्लास का उपयोग Python डेटा को पैक और अनपैक करने के लिए कैसे किया जाता है।

s = struct.Struct('I 5s f')
packed = s.pack(*student)
print(packed)
unpacked = s.unpack(packed)
print(unpacked)

पैक्ड डेटा को सीधे नेम्ड टपल ऑब्जेक्ट में पार्स किया जा सकता है।

from collections import namedtuple
newstudent = namedtuple('newstudent', 'No Name Marks')
s1 = newstudent._make(struct.unpack('I 5s f', packed))
print(s1)

आउटपुट

newstudent(No=1, Name=b'Rahul', Marks=65.75)

  1. पायथन में सांख्यिकीय सोच पायथन में सांख्यिकीय सोच

    सांख्यिकी ML और AI सीखने के लिए मौलिक है। चूंकि पायथन इन टेक्नोलॉजीज के लिए पसंद की भाषा है, हम देखेंगे कि सांख्यिकीय विश्लेषण को शामिल करने वाले पायथन प्रोग्राम कैसे लिखें। इस लेख में हम देखेंगे कि विभिन्न पायथन मॉड्यूल्स का उपयोग करके ग्राफ और चार्ट कैसे बनाएं। चार्ट की यह विविधता हमें डेटा का तेज

  1. - पायथन में धोखाधड़ी का पता लगाना

    कई लेनदेन में धोखाधड़ी वास्तव में होती है। हम पिछले डेटा का विश्लेषण करने और लेनदेन के धोखाधड़ी होने की संभावना का अनुमान लगाने के लिए मशीन लर्निंग एल्गोरिदम लागू कर सकते हैं। हमारे उदाहरण में हम क्रेडिट कार्ड लेनदेन लेंगे, डेटा का विश्लेषण करेंगे, फीचर्स और लेबल बनाएंगे और अंत में ML एल्गोरिदम में

  1. पायथन में जनगणना डेटा का विश्लेषण पायथन में जनगणना डेटा का विश्लेषण

    जनगणना एक व्यवस्थित तरीके से दी गई जनसंख्या के बारे में जानकारी रिकॉर्ड करने के बारे में है। कैप्चर किए गए डेटा में विभिन्न श्रेणी की जानकारी शामिल होती है जैसे - जनसांख्यिकीय, आर्थिक, आवास विवरण आदि। यह अंततः सरकार को वर्तमान परिदृश्य को समझने और भविष्य के लिए योजना बनाने में मदद करता है। इस लेख मे