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ş:
Nasıl okunur bir metin Python string b...
Nasıl bir metin dosyası kodlama/kod al...
Nasıl açık birden fazla dosya "Py...
Nasıl bir python çalıştırmak başka bir...
Nasıl bir dosya c ikili veya metin olu...