पायथन में बाइनरी फाइल कैसे पढ़ें

How Read Binary Files Python



बाइनरी डेटा वाली फ़ाइल को बाइनरी फ़ाइल कहा जाता है। कोई भी स्वरूपित या बिना स्वरूपित बाइनरी डेटा एक बाइनरी फ़ाइल में संग्रहीत किया जाता है, और यह फ़ाइल मानव-पठनीय नहीं है और सीधे कंप्यूटर द्वारा उपयोग की जाती है। जब एक बाइनरी फ़ाइल को एक स्थान से दूसरे स्थान पर पढ़ने या स्थानांतरित करने की आवश्यकता होती है, तो फ़ाइल की सामग्री को मानव-पठनीय प्रारूप में परिवर्तित या एन्कोड किया जाता है। बाइनरी फ़ाइल का विस्तार .bin है। बाइनरी फ़ाइल की सामग्री को एक अंतर्निहित फ़ंक्शन या मॉड्यूल का उपयोग करके पढ़ा जा सकता है। इस ट्यूटोरियल में पायथन में बाइनरी फाइलों को पढ़ने के विभिन्न तरीके दिखाए गए हैं।

पूर्व-आवश्यकता:

इस ट्यूटोरियल के उदाहरणों की जाँच करने से पहले, उदाहरण स्क्रिप्ट में उपयोग करने के लिए एक या अधिक बाइनरी फ़ाइलें बनाना बेहतर है। दो बाइनरी फाइल बनाने के लिए दो पायथन फाइलों की स्क्रिप्ट नीचे दी गई है। Binary1.py नाम की एक बाइनरी फ़ाइल बनाएगा स्ट्रिंग.बिन जिसमें स्ट्रिंग डेटा होगा, और बाइनरी2.py नाम की एक बाइनरी फ़ाइल बनाएगा number_list.bin जिसमें संख्यात्मक डेटा की एक सूची होगी।







बाइनरी1.py

# बाइनरी फ़ाइल बनाने के लिए फ़ाइल हैंडलर खोलें

file_handler= खोलना('स्ट्रिंग.बिन', 'डब्ल्यूबी')

# बाइनरी फ़ाइल में टेक्स्ट की दो पंक्तियाँ जोड़ें

file_handler.लिखो(बी'लिनक्सहिंट में आपका स्वागत है।एनपायथन प्रोग्रामिंग सीखें।')

# फाइल हैंडलर बंद करें

file_handler.बंद करे()

बाइनरी2.py

# बाइनरी फ़ाइल बनाने के लिए फ़ाइल हैंडलर खोलें

फ़ाइल=खोलना('number_list.bin','डब्ल्यूबी')

# संख्यात्मक मानों की सूची घोषित करें

नंबर=[10,30,चार पांच,60,70,85,99]

# सूची को सरणी में बदलें

बैरे=बाइटअरे(नंबर)

# फ़ाइल में सरणी लिखें

फ़ाइल.लिखो(बैरे)

फ़ाइल.बंद करे()

उदाहरण -1: स्ट्रिंग डेटा की बाइनरी फ़ाइल को बाइट सरणी में पढ़ें

बाइनरी फ़ाइल को पढ़ने के लिए पायथन में कई तरीके मौजूद हैं। आप एक बार में विशेष संख्या में बाइट्स या बाइनरी फ़ाइल की पूरी सामग्री पढ़ सकते हैं। निम्न स्क्रिप्ट के साथ एक पायथन फ़ाइल बनाएं। NS ओपन () फ़ंक्शन खोलने के लिए इस्तेमाल किया है स्ट्रिंग.बिन पढ़ने के लिए। NS पढ़ें () फ़ंक्शन लूप और प्रिंट के प्रत्येक पुनरावृत्ति में फ़ाइल से 7 वर्णों को पढ़ने के लिए उपयोग किया गया है। अगला, पढ़ें () फ़ंक्शन बाइनरी फ़ाइल की पूरी सामग्री को पढ़ने के लिए बिना किसी तर्क के उपयोग किया गया है जिसे बाद में मुद्रित किया जाएगा।



# पढ़ने के लिए बाइनरी फ़ाइल खोलें

file_handler= खोलना('स्ट्रिंग.बिन', 'आरबी')

# बाइनरी फ़ाइल से पहले तीन बाइट्स पढ़ें

डेटा_बाइट=file_handler.पढ़ना(7)

प्रिंट('प्रत्येक पुनरावृत्ति में तीन वर्ण मुद्रित करें:')

# फ़ाइल के शेष भाग को पढ़ने के लिए लूप को पुनरावृत्त करें

जबकिडेटा_बाइट:

प्रिंट(डेटा_बाइट)

डेटा_बाइट=file_handler.पढ़ना(7)


# पूरी फाइल को सिंगल बाइट स्ट्रिंग के रूप में पढ़ें

साथ खोलना('स्ट्रिंग.बिन', 'आरबी') जैसाएफएच:

विषय=एफएच.पढ़ना()

प्रिंट('बाइनरी फ़ाइल की पूरी सामग्री प्रिंट करें:')

प्रिंट(विषय)

आउटपुट:

उपरोक्त स्क्रिप्ट को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा।







उदाहरण -2: स्ट्रिंग डेटा की बाइनरी फ़ाइल को सरणी में पढ़ें

नाम की एक बाइनरी फ़ाइल पढ़ने के लिए निम्न स्क्रिप्ट के साथ एक पायथन फ़ाइल बनाएं: number_list.bin पहले बनाया गया। इस बाइनरी फ़ाइल में संख्यात्मक डेटा की एक सूची है। पिछले उदाहरण की तरह, ओपन () फ़ंक्शन स्क्रिप्ट में पढ़ने के लिए ओपन बाइनरी फाइल का इस्तेमाल किया है। इसके बाद, पहले 5 नंबर बाइनरी फ़ाइल से पढ़े जाएंगे और प्रिंटिंग से पहले एक सूची में परिवर्तित हो जाएंगे।

# पढ़ने के लिए बाइनरी फ़ाइल खोलें

फ़ाइल = खोलना('number_list.bin', 'आरबी')

# पहले पांच नंबरों को एक सूची में पढ़ें

संख्या= सूची(फ़ाइल.पढ़ना(5))

# लिस्ट प्रिंट करें

प्रिंट(संख्या)

#फाइल बंद करें

फ़ाइल.बंद करे()

आउटपुट:

उपरोक्त स्क्रिप्ट को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। बाइनरी फ़ाइल में 7 नंबर होते हैं, और पहले पांच नंबर आउटपुट में प्रिंट होते हैं।



उदाहरण -3: NumPy . का उपयोग करके बाइनरी फ़ाइल पढ़ें

का उपयोग करके बाइनरी फ़ाइल बनाने के तरीके न्यूमपी सरणी और बाइनरी फ़ाइल की सामग्री को एक सूची में उपयोग करके पढ़ें न्यूमपी मॉड्यूल ट्यूटोरियल के इस भाग में दिखाया गया है। नीचे दी गई स्क्रिप्ट की जांच करने से पहले, आपको इंस्टॉल करना होगा न्यूमपी मॉड्यूल टर्मिनल से कमांड निष्पादित करके या स्थापित करके न्यूमपी पैकेज पायथन संपादक में, जहां स्क्रिप्ट निष्पादित की जाएगी। NS टोफाइल () फ़ंक्शन टेक्स्ट या बाइनरी फ़ाइल बनाने के लिए प्रयोग किया जाता है, और फ्रॉमफाइल () फ़ंक्शन पाठ या बाइनरी फ़ाइल को पढ़कर एक सरणी बनाने के लिए प्रयोग किया जाता है।

टोफाइल का सिंटैक्स ():

ndarray.फाइल करने के लिए(फ़ाइल,सितम्बर='',प्रारूप='%एस')

पहला तर्क अनिवार्य है और फ़ाइल नाम या स्ट्रिंग या पथ को मान के रूप में लेता है। फ़ाइल बनाई जाएगी यदि इस तर्क में फ़ाइल नाम प्रदान किया गया है। दूसरा तर्क वैकल्पिक है जिसका उपयोग सरणी तत्वों को अलग करने के लिए किया जाता है। तीसरा तर्क वैकल्पिक भी है और टेक्स्ट फ़ाइल के आउटपुट को स्वरूपित करने के लिए उपयोग किया जाता है।

फोमफाइल का सिंटेक्स ():

सुन्नलेख्यपत्र से(फ़ाइल,डीटाइप=पानी पर तैरना,गिनती=-1,सितम्बर='',ओफ़्सेट=0,*,पसंद=कोई नहीं)

पहला तर्क अनिवार्य है और फ़ाइल नाम या स्ट्रिंग या पथ को मान के रूप में लेता है। फ़ाइल की सामग्री को पढ़ा जाएगा यदि इस तर्क में फ़ाइल नाम प्रदान किया जाएगा। NS डीटाइप लौटाए गए सरणी के डेटा प्रकार को परिभाषित करता है। गिनती का उपयोग वस्तुओं की संख्या गिनने के लिए किया जाता है। का उद्देश्य सितम्बर टेक्स्ट या ऐरे आइटम्स को अलग करना है। ऑफ़सेट का उपयोग फ़ाइल की वर्तमान स्थिति को परिभाषित करने के लिए किया जाता है। अंतिम तर्क का उपयोग एक सरणी वस्तु बनाने के लिए किया जाता है जो कि नहीं है न्यूमपी सरणी .

बाइनरी फ़ाइल बनाने के लिए निम्न स्क्रिप्ट के साथ एक पायथन फ़ाइल बनाएं न्यूमपी सरणी और बाइनरी फ़ाइल की सामग्री को पढ़ें और प्रिंट करें।

# NumPy मॉड्यूल आयात करें

आयातNumpyजैसाउदाहरण के लिए:

# सुन्न सरणी घोषित करें

npararay=जैसेसरणी([3. 4, 89, 30, चार पांच, 90, ग्यारह])

# numpy array से बाइनरी फाइल बनाएं

एनपैरेफाइल करने के लिए('सूची.बिन')

# बाइनरी फ़ाइल से डेटा प्रिंट करें

प्रिंट(जैसेलेख्यपत्र से('सूची.बिन',डीटाइप=जैसेइंट64))

आउटपुट:

उपरोक्त स्क्रिप्ट को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा।

निष्कर्ष:

इस ट्यूटोरियल में सरल उदाहरणों का उपयोग करके बाइनरी फ़ाइल को पढ़ने के तीन अलग-अलग तरीके दिखाए गए हैं। पहला उदाहरण बाइनरी फ़ाइल की सामग्री को बाइट सरणी के रूप में लौटाता है। दूसरा उदाहरण बाइनरी फ़ाइल की सामग्री को एक सूची के रूप में लौटाता है। अंतिम उदाहरण ने सूची के रूप में बाइनरी फ़ाइल की सामग्री को भी वापस कर दिया।