Како читати бинарне датотеке у Питхону

How Read Binary Files Python



Датотека која садржи бинарне податке назива се бинарна датотека. Сви форматирани или неформатирани бинарни подаци чувају се у бинарној датотеци, а та датотека није читљива за људе и рачунар је користи директно. Када је бинарна датотека потребна за читање или пренос са једне локације на другу, садржај датотеке се конвертује или кодира у формат читљив за људе. Екстензија бинарне датотеке је .бин. Садржај бинарне датотеке може се читати помоћу уграђене функције или модула. У овом водичу приказани су различити начини читања бинарних датотека у Питхону.

Предуслов:

Пре него што проверите примере овог водича, боље је да направите једну или више бинарних датотека које ћете користити у примеру скрипте. Скрипта две питхон датотеке дала је испод за креирање две бинарне датотеке. Бинари1.пи ће створити бинарну датотеку под називом стринг.бин који ће садржати низ података, а бинари2.пи ће створити бинарну датотеку под називом нумбер_лист.бин који ће садржати листу нумеричких података.







Бинари1.пи

# Отворите управљач датотекама да бисте креирали бинарну датотеку

филе_хандлер= отворен('стринг.бин', 'вб')

# Додајте два реда текста у бинарну датотеку

филе_хандлер.писати(б'Добро дошли у ЛинукХинт. нНаучите програмирање на Питхону. ')

# Затворите руковатељ датотекама

филе_хандлер.Близу()

Бинари2.пи

# Отворите управљач датотекама да бисте креирали бинарну датотеку

филе=отворен('нумбер_лист.бин','вб')

# Прогласите листу нумеричких вредности

бројеви=[10,30,Четири, пет,60,70,85,99]

# Претворите листу у низ

барраи=битеарраи(бројеви)

# Упишите низ у датотеку

филе.писати(барраи)

филе.Близу()

Пример-1: Прочитајте бинарну датотеку података о низу у низу бајтова

У Питхону постоји много начина за читање бинарне датотеке. Можете читати одређени број бајтова или цео садржај бинарне датотеке одједном. Направите питхон датотеку са следећом скриптом. Тхе функција опен () користила за отварање стринг.бин за читање. Тхе функција реад () је коришћен за читање 7 знакова из датотеке у свакој итерацији вхиле петље и штампања. Затим, функција реад () је коришћен без икаквих аргумената за читање целог садржаја бинарне датотеке која ће бити одштампана касније.



# Отворите бинарну датотеку за читање

филе_хандлер= отворен('стринг.бин', 'рб')

# Прочитајте прва три бајта из бинарне датотеке

дата_бите=филе_хандлер.читати(7)

принт('Одштампајте три знака у свакој итерацији:')

# Поновите петљу да бисте прочитали преостали део датотеке

докдата_бите:

принт(дата_бите)

дата_бите=филе_хандлер.читати(7)


# Прочитајте целу датотеку као низ од једног бајта

са отворен('стринг.бин', 'рб') каофх:

садржај=фх.читати()

принт('Одштампајте цео садржај бинарне датотеке:')

принт(садржај)

Излаз:

Следећи излаз ће се појавити након извршавања горње скрипте.







Пример-2: Прочитајте бинарну датотеку података о низу у низу

Направите питхон датотеку са следећом скриптом за читање бинарне датотеке по имену нумбер_лист.бин претходно створене. Ова бинарна датотека садржи листу нумеричких података. Као и претходни пример, функција опен () је користио опен бинари филе за читање у скрипти. Затим ће првих 5 бројева бити прочитано из бинарне датотеке и претворено у листу пре штампања.

# Отворите бинарну датотеку за читање

филе = отворен('нумбер_лист.бин', 'рб')

# Прочитајте првих пет бројева на листи

број= листа(филе.читати(5))

# Одштампајте листу

принт(број)

# Затворите датотеку

филе.Близу()

Излаз:

Следећи излаз ће се појавити након извршавања горње скрипте. Бинарна датотека садржи 7 бројева, а првих пет бројева је одштампано у излазу.



Пример 3: Читање бинарне датотеке помоћу НумПи-а

Начини стварања бинарне датотеке помоћу НумПи низ и читати садржај бинарне датотеке користећи на списку користећи НумПи модул показали у овом делу водича. Пре него што проверите доле наведену скрипту, морате да инсталирате НумПи модул извршавањем команде са терминала или инсталирањем НумПи пакет у уређивачу Питхон, где ће се скрипта извршити. Тхе функција тофиле () се користи за креирање текстуалне или бинарне датотеке, а функција фромфиле () се користи за креирање низа читањем текстуалне или бинарне датотеке.

Синтакса тофиле ():

ндарраи.да поднесе(филе,Сеп='',формат='%с')

Први аргумент је обавезан и узима вредност датотеке или низ или путању као вредност. Датотека ће бити креирана ако је у овом аргументу наведено име датотеке. Други аргумент је опционалан и користи се за одвајање елемената низа. Трећи аргумент је такође опциони и користи се за форматирање излаза текстуалне датотеке.

Синтакса фомфиле ():

нумпи.фромфиле(филе,дтипе=пловак,цоунт=-1,Сеп='',офсет=0,*,као=Ниједан)

Први аргумент је обавезан и узима вредност датотеке или низ или путању као вредност. Садржај датотеке ће се читати ако се у овом аргументу наведе назив датотеке. Тхе дтипе дефинише тип података враћеног низа. Бројање се користи за бројање броја ставки. Сврха Сеп је одвајање текста или ставки низа. Одступање се користи за дефинисање тренутне позиције датотеке. Последњи аргумент се користи за креирање објекта низа који није а НумПи низ .

Направите питхон датотеку са следећом скриптом за креирање бинарне датотеке помоћу НумПи низ и читају и штампају садржај бинарне датотеке.

# Увези НумПи модул

увознумпикаона пример

# Декларишите нумпи низ

нпарраи=на пример.арраи([3. 4, 89, 30, Четири, пет, 90, Једанаест])

# Креирајте бинарну датотеку од нумпи низа

нпарраи.да поднесе('лист.бин')

# Одштампајте податке из бинарне датотеке

принт(на пример.фромфиле('лист.бин',дтипе=на пример.инт64))

Излаз:

Следећи излаз ће се појавити након извршавања горње скрипте.

Закључак:

Три различита начина читања бинарне датотеке приказана су у овом водичу помоћу једноставних примера. Први пример је вратио садржај бинарне датотеке као низ бајтова. Други пример је вратио садржај бинарне датотеке као листу. Последњи пример је такође вратио садржај бинарне датотеке као листу.