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

  • Soulkiller13 ツ

    Soulkiller13

    30 Mayıs 2013
  • SoundHound

    SoundHound

    8 Mart 2006
  • VitalyzdTv

    VitalyzdTv

    7 AĞUSTOS 2011