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

  • BuzzFeedVideo

    BuzzFeedVide

    10 AĞUSTOS 2011
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010