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

  • H3Ctic (old channel)

    H3Ctic (old

    23 Mart 2011
  • ShayLoss

    ShayLoss

    5 Kasım 2009
  • TheXiaxue

    TheXiaxue

    3 AĞUSTOS 2009