பைத்தானில் பைனரி கோப்புகளை எப்படிப் படிப்பது

How Read Binary Files Python



பைனரி தரவைக் கொண்ட கோப்பு பைனரி கோப்பு என்று அழைக்கப்படுகிறது. வடிவமைக்கப்பட்ட அல்லது வடிவமைக்கப்படாத எந்த பைனரி தரவும் பைனரி கோப்பில் சேமிக்கப்படும், மேலும் இந்தக் கோப்பு மனிதனால் படிக்க முடியாதது மற்றும் கணினியால் நேரடியாகப் பயன்படுத்தப்படுகிறது. ஒரு பைனரி கோப்பு ஒரு இடத்திலிருந்து மற்றொரு இடத்திற்கு படிக்க அல்லது மாற்றப்பட வேண்டியிருக்கும் போது, ​​கோப்பின் உள்ளடக்கம் மனிதனால் படிக்கக்கூடிய வடிவமாக மாற்றப்படுகிறது அல்லது குறியாக்கம் செய்யப்படுகிறது. பைனரி கோப்பின் நீட்டிப்பு .bin. உள்ளமைக்கப்பட்ட செயல்பாடு அல்லது தொகுதியைப் பயன்படுத்தி பைனரி கோப்பின் உள்ளடக்கத்தைப் படிக்கலாம். பைத்தானில் பைனரி கோப்புகளைப் படிக்க பல்வேறு வழிகள் இந்த டுடோரியலில் காட்டப்பட்டுள்ளன.

முன் தேவை:

இந்த டுடோரியலின் உதாரணங்களைச் சரிபார்க்கும் முன், உதாரண ஸ்கிரிப்டில் பயன்படுத்த ஒன்று அல்லது அதற்கு மேற்பட்ட பைனரி கோப்புகளை உருவாக்குவது நல்லது. இரண்டு பைதான் கோப்புகளின் ஸ்கிரிப்ட் இரண்டு பைனரி கோப்புகளை உருவாக்க கீழே கொடுக்கப்பட்டுள்ளது. Binary1.py என்ற பைனரி கோப்பை உருவாக்கும் சரம்.பின் அது சரம் தரவைக் கொண்டிருக்கும், மற்றும் binary2.py என்ற பைனரி கோப்பை உருவாக்கும் எண்_ பட்டியல்.பின் அதில் எண் தரவுகளின் பட்டியல் இருக்கும்.







பைனரி 1. பை

# பைனரி கோப்பை உருவாக்க கோப்பு கையாளுபவரைத் திறக்கவும்

file_handler= திற('string.bin', 'wb')

# பைனரி கோப்பில் இரண்டு வரிகளைச் சேர்க்கவும்

file_handler.எழுது(bலினக்ஸ்ஹிண்டிற்கு வரவேற்கிறோம். nபைதான் நிரலாக்கத்தைக் கற்றுக்கொள்ளுங்கள். ')

# கோப்பு கையாளுபவரை மூடு

file_handler.நெருக்கமான()

பைனரி 2. பை

# பைனரி கோப்பை உருவாக்க கோப்பு கையாளுபவரைத் திறக்கவும்

கோப்பு=திற('number_list.bin','wb')

# எண் மதிப்புகளின் பட்டியலை அறிவிக்கவும்

எண்கள்=[10,30,நான்கு. ஐந்து,60,70,85,99]

# பட்டியலை வரிசைக்கு மாற்றவும்

பட்டி=பைட்ரே(எண்கள்)

# கோப்பில் வரிசையை எழுதுங்கள்

கோப்பு.எழுது(பட்டி)

கோப்பு.நெருக்கமான()

எடுத்துக்காட்டு -1: சரம் தரவின் பைனரி கோப்பை பைட் வரிசையில் படிக்கவும்

பைனரில் பைனரி கோப்பைப் படிக்க பல வழிகள் உள்ளன. நீங்கள் குறிப்பிட்ட எண்ணிக்கையிலான பைட்டுகள் அல்லது பைனரி கோப்பின் முழு உள்ளடக்கத்தை ஒரே நேரத்தில் படிக்கலாம். பின்வரும் ஸ்கிரிப்டுடன் ஒரு பைதான் கோப்பை உருவாக்கவும். தி திறந்த () செயல்பாடு திறக்க பயன்படுத்தப்பட்டது சரம்.பின் வாசிப்புக்காக. தி படிக்க () செயல்பாடு சுழற்சியில் மற்றும் அச்சிடும்போது ஒவ்வொரு மறு செய்கையிலும் கோப்பிலிருந்து 7 எழுத்துக்களைப் படிக்கப் பயன்படுகிறது. அடுத்து, தி படிக்க () செயல்பாடு பின்னர் அச்சிடப்படும் பைனரி கோப்பின் முழு உள்ளடக்கத்தையும் படிக்க எந்த வாதமும் இல்லாமல் பயன்படுத்தப்படுகிறது.



# படிக்க பைனரி கோப்பைத் திறக்கவும்

file_handler= திற('string.bin', 'ஆர்பி')

# பைனரி கோப்பிலிருந்து முதல் மூன்று பைட்டுகளைப் படிக்கவும்

தரவு_பைட்=file_handler.படி(7)

அச்சு(ஒவ்வொரு மறு செய்கையிலும் மூன்று எழுத்துக்களை அச்சிடுக:)

கோப்பின் மீதமுள்ள பகுதியை படிக்க வளையத்தை மீண்டும் செய்யவும்

போதுதரவு_பைட்:

அச்சு(தரவு_பைட்)

தரவு_பைட்=file_handler.படி(7)


# முழு பைலையும் ஒற்றை பைட் சரமாகப் படிக்கவும்

உடன் திற('string.bin', 'ஆர்பி') எனfh:

உள்ளடக்கம்=fh.படி()

அச்சு(பைனரி கோப்பின் முழு உள்ளடக்கத்தையும் அச்சிடுக:)

அச்சு(உள்ளடக்கம்)

வெளியீடு:

மேலே உள்ள ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும்.







எடுத்துக்காட்டு -2: வரிசைக்குள் சரம் தரவின் பைனரி கோப்பைப் படிக்கவும்

ஒரு பைனரி கோப்பைப் படிக்க பின்வரும் ஸ்கிரிப்டுடன் ஒரு பைதான் கோப்பை உருவாக்கவும் எண்_ பட்டியல்.பின் முன்பு உருவாக்கப்பட்டது. இந்த பைனரி கோப்பில் எண் தரவுகளின் பட்டியல் உள்ளது. முந்தைய உதாரணத்தைப் போலவே, தி திறந்த () செயல்பாடு ஸ்கிரிப்டில் படிக்க பைனரி கோப்பைத் திறந்து பயன்படுத்தினார். அடுத்து, முதல் 5 எண்கள் பைனரி கோப்பிலிருந்து படிக்கப்பட்டு அச்சிடப்படுவதற்கு முன்பு பட்டியலாக மாற்றப்படும்.

# படிக்க பைனரி கோப்பைத் திறக்கவும்

கோப்பு = திற('number_list.bin', 'ஆர்பி')

# முதல் ஐந்து எண்களை ஒரு பட்டியலில் படிக்கவும்

எண்= பட்டியல்(கோப்பு.படி(5))

# பட்டியலை அச்சிடுங்கள்

அச்சு(எண்)

# கோப்பை மூடு

கோப்பு.நெருக்கமான()

வெளியீடு:

மேலே உள்ள ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும். பைனரி கோப்பில் 7 எண்கள் உள்ளன, முதல் ஐந்து எண்கள் வெளியீட்டில் அச்சிடப்பட்டுள்ளன.



எடுத்துக்காட்டு -3: NumPy ஐப் பயன்படுத்தி பைனரி கோப்பைப் படிக்கவும்

பயன்படுத்தி பைனரி கோப்பை உருவாக்குவதற்கான வழிகள் NumPy வரிசை மற்றும் பைனரி கோப்பின் உள்ளடக்கத்தைப் பயன்படுத்தி ஒரு பட்டியலில் பயன்படுத்தி படிக்கவும் NumPy தொகுதி டுடோரியலின் இந்த பகுதியில் காட்டப்பட்டுள்ளது. கீழே கொடுக்கப்பட்டுள்ள ஸ்கிரிப்டைச் சரிபார்க்கும் முன், நீங்கள் அதை நிறுவ வேண்டும் NumPy தொகுதி முனையத்திலிருந்து கட்டளையை செயல்படுத்துவதன் மூலம் அல்லது நிறுவுவதன் மூலம் NumPy தொகுப்பு பைதான் எடிட்டரில், ஸ்கிரிப்ட் செயல்படுத்தப்படும். தி tofile () செயல்பாடு ஒரு உரை அல்லது பைனரி கோப்பை உருவாக்க பயன்படுகிறது, மற்றும் கோப்பு () செயல்பாடு உரை அல்லது பைனரி கோப்பைப் படிப்பதன் மூலம் ஒரு வரிசையை உருவாக்க பயன்படுகிறது.

டோஃபைலின் தொடரியல் ():

ndarray.டோஃபைல்(கோப்பு,செப்='',வடிவம்='%s')

முதல் வாதம் கட்டாயமானது மற்றும் கோப்பு பெயர் அல்லது சரம் அல்லது பாதையை ஒரு மதிப்பாக எடுத்துக்கொள்கிறது. இந்த வாதத்தில் ஒரு கோப்பு பெயர் வழங்கப்பட்டால் கோப்பு உருவாக்கப்படும். இரண்டாவது வாதம் விருப்பமானது, இது வரிசை கூறுகளைப் பிரிக்கப் பயன்படுகிறது. மூன்றாவது வாதம் விருப்பமானது மற்றும் உரை கோப்பின் வெளியீட்டை வடிவமைக்கப் பயன்படுகிறது.

ஃபோம்ஃபைலின் தொடரியல் ():

மரத்துப்போன.கோப்பில் இருந்து(கோப்பு,வகை=மிதக்க,எண்ண=-1,செப்='',ஆஃப்செட்=0,*,போன்ற=ஒன்றுமில்லை)

முதல் வாதம் கட்டாயமானது மற்றும் கோப்பு பெயர் அல்லது சரம் அல்லது பாதையை ஒரு மதிப்பாக எடுத்துக்கொள்கிறது. இந்த வாதத்தில் ஒரு கோப்பு பெயர் வழங்கப்பட்டால் கோப்பின் உள்ளடக்கம் படிக்கப்படும். தி வகை திரும்பிய வரிசையின் தரவு வகையை வரையறுக்கிறது. பொருட்களின் எண்ணிக்கையை எண்ணுவதற்கு எண்ணிக்கை பயன்படுத்தப்படுகிறது. இதன் நோக்கம் செப் உரை அல்லது வரிசை உருப்படிகளை பிரிக்க வேண்டும். கோப்பின் தற்போதைய நிலையை வரையறுக்க ஆஃப்செட் பயன்படுத்தப்படுகிறது. கடைசி வாதம் ஒரு வரிசை பொருளை உருவாக்க பயன்படுகிறது NumPy வரிசை .

பயன்படுத்தி பைனரி கோப்பை உருவாக்க பின்வரும் ஸ்கிரிப்டுடன் ஒரு பைதான் கோப்பை உருவாக்கவும் NumPy வரிசை மற்றும் பைனரி கோப்பின் உள்ளடக்கத்தைப் படித்து அச்சிடவும்.

# NumPy தொகுதியை இறக்குமதி செய்யவும்

இறக்குமதிமரத்துப்போனஎனஎ.கா

# நம்பி வரிசையை அறிவிக்கவும்

nparray=எ.கா.வரிசை([3. 4, 89, 30, நான்கு. ஐந்து, 90, பதினொன்று])

# நம்பி வரிசையில் இருந்து பைனரி கோப்பை உருவாக்கவும்

nparray.டோஃபைல்('list.bin')

# பைனரி கோப்பிலிருந்து தரவை அச்சிடுங்கள்

அச்சு(எ.கா.கோப்பில் இருந்து('list.bin',வகை=எ.கா.int64))

வெளியீடு:

மேலே உள்ள ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும்.

முடிவுரை:

பைனரி கோப்பைப் படிக்க மூன்று வெவ்வேறு வழிகள் எளிய எடுத்துக்காட்டுகளைப் பயன்படுத்தி இந்த டுடோரியலில் காட்டப்பட்டுள்ளன. முதல் உதாரணம் பைனரி கோப்பின் உள்ளடக்கத்தை பைட் வரிசையாக வழங்கியது. இரண்டாவது உதாரணம் பைனரி கோப்பின் உள்ளடக்கத்தை ஒரு பட்டியலாக வழங்கியது. கடைசி உதாரணம் பைனரி கோப்பின் உள்ளடக்கத்தையும் பட்டியலாக வழங்கியது.