SORU
22 Mayıs 2009, Cuma


Nasıl bir ikili dosya (metin olmayan) python ise algılayabilir miyim?

Nasıl bir ikili dosya (metin olmayan) python olduğunu söyleyebilir miyim? Python dosyalarını büyük bir set arıyorum, ve ikili dosyaları maçları almaya devam ediyorum. Bu çıktı inanılmaz dağınık görünmesini sağlar.

Grep -İ kullanabileceğimi biliyorum, ama veri ile daha grep için verir daha yapıyorum.

Geçmişte sadece karakter 0x7f, ama utf8 daha aradı ve gibi modern sistemlerde bu mümkün değil. İdeal çözüm hızlı olurdu, ama herhangi bir çözüm olacaktır.

CEVAP
12 EYLÜL 2011, PAZARTESİ


Henüz başka bir yöntem 4**:

>>> textchars = bytearray({7,8,9,10,12,13,27} | set(range(0x20, 0x100)) - {0x7f})
>>> is_binary_string = lambda bytes: bool(bytes.translate(None, textchars))

Örnek:

>>> is_binary_string(open('/usr/bin/python', 'rb').read(1024))
True
>>> is_binary_string(open('/usr/bin/dh_python3', 'rb').read(1024))
False

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Moto Journal

    Moto Journal

    28 Mayıs 2007
  • Ordetta Price

    Ordetta Pric

    12 EYLÜL 2011
  • wwjoshdew

    wwjoshdew

    1 AĞUSTOS 2007