SORU
23 HAZİRAN 2009, Salı


Python ile ikili dosya okuma ve her bayt üzerinde döngü

Python, nasıl bu dosyanın her baytı üzerinden ikili dosya ve bir döngü okuyabilirim?

CEVAP
23 HAZİRAN 2009, Salı


f = open("myfile", "rb")
try:
    byte = f.read(1)
    while byte != "":
        # Do stuff with byte.
        byte = f.read(1)
finally:
    f.close()

Chrispy: öneri

with open("myfile", "rb") as f:
    byte = f.read(1)
    while byte != "":
        # Do stuff with byte.
        byte = f.read(1)

İle ifade 2.5 aşağıda Python sürümlerinde kullanılabilir olduğunu unutmayın. V 2.5 kullanmak için almak gerekir:

from __future__ import with_statement

2.6 bu gerekli değildir.

Python 3, biraz farklı. Artık, disklerde ama bayt nesneleri akışından raw karakterleri alacak, böylece bu durumu değiştirmek için ihtiyacımız var:

with open("myfile", "rb") as f:
    byte = f.read(1)
    while byte != b"":
        # Do stuff with byte.
        byte = f.read(1)

Ya benhoyt dediği gibi, eşit atlayıp b"" yanlış aslında yararlanın. Bu kodu 2.6 ve 3 arasında uyumlu hale getirir.herhangi bir değişiklik olmadan x. Ayrıca eğer metin bayt modundan çıkarsan ya da tersi durumu değiştirerek sizi kurtaracak.

with open("myfile", "rb") as f:
    byte = f.read(1)
    while byte:
        # Do stuff with byte.
        byte = f.read(1)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Lupe Fiasco

    Lupe Fiasco

    23 ŞUBAT 2006
  • MuscleProdigyTV

    MuscleProdig

    8 Ocak 2011
  • PomplamooseMusic

    PomplamooseM

    28 HAZİRAN 2008