ホームページ > バックエンド開発 > Python チュートリアル > Python でバイナリ ファイルをバイトごとに効率的に読み取るにはどうすればよいですか?

Python でバイナリ ファイルをバイトごとに効率的に読み取るにはどうすればよいですか?

DDD
リリース: 2024-12-26 21:05:10
オリジナル
344 人が閲覧しました

How Can I Efficiently Read Binary Files Byte by Byte in Python?

Python でバイナリ ファイルをバイトごとに簡単に読み取る

Python でバイナリ ファイルを処理する場合、多くの場合、各バイトにアクセスすることが重要です。この記事では、このタスクを効率的に実行するための包括的なガイドを提供します。

Python バージョン >= 3.8

セイウチ演算子 (:=) の導入が簡素化されました。このプロセス。ファイルをバイナリ モード (「rb」) で開き、バイト オブジェクトを一度に 1 つずつ読み取り、変数 byte に割り当てます。

with open("myfile", "rb") as f:
    while (byte := f.read(1)):
        # Perform operations on the byte
ログイン後にコピー

Python バージョン >= 3 ただし、

3.8
with open("myfile", "rb") as f:
    byte = f.read(1)
    while byte != b"":
        # Perform operations on the byte
        byte = f.read(1)
ログイン後にコピー

これらのバージョンでは、もう少し長いアプローチを使用できます:
with open("myfile", "rb") as f:
    byte = f.read(1)
    while byte:
        # Perform operations on the byte
        byte = f.read(1)
ログイン後にコピー

あるいは、b"" が false と評価されるという事実を利用することもできます:

Python のバージョン >= 2.5
with open("myfile", "rb") as f:
    byte = f.read(1)
    while byte != "":
        # Perform operations on the byte
        byte = f.read(1)
ログイン後にコピー

Python 2 はバイナリ ファイルの読み取り方法が異なります:

Python バージョン 2.4 以前
f = open("myfile", "rb")
try:
    byte = f.read(1)
    while byte != "":
        # Perform operations on the byte
        byte = f.read(1)
finally:
    f.close()
ログイン後にコピー
古いバージョンの場合は、 try/finally ブロックが必要です:

以上がPython でバイナリ ファイルをバイトごとに効率的に読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート