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

  • cekehechu

    cekehechu

    20 HAZİRAN 2006
  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010