How totell a binary file from a nonbinary file.
Phil Austin
phil at geog.ubc.ca
Sun Oct 29 12:58:20 EST 2000
More information about the Python-list mailing list
Sun Oct 29 12:58:20 EST 2000
- Previous message (by thread): How totell a binary file from a nonbinary file.
- Next message (by thread): Loading Modules Dynamically at RunTime
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
olczyk at interaccess.com (Thaddeus L. Olczyk) writes: > There are some changes that I have to make to s directory of files ( > in python of course ). Is there some simple way of telling whether > a file is binary or not (from python of course )? Something like this might help: # # Detects if files contain text or binary data # Jeff Epler jepler at inetnebr.com 20 April 97 # import string import os def mask(charlist): """Construct a mask suitable for string.translate, which marks letters in charlist as "t" and ones not as "b" """ mask="" for i in range(256): if chr(i) in charlist: mask=mask+"t" else: mask=mask+"b" return mask ascii7bit=string.joinfields(map(chr, range(32,127)), "")+"\r\n\t\b" ascii7bit_mask=mask(ascii7bit) def istext(file, check=1024, mask=ascii7bit_mask): """Returns true if the first check characters in file are within mask, false otherwise""" try: s=file.read(check) s=string.translate(s, mask) if string.find(s, "b") != -1: return 0 return 1 except (AttributeError, NameError): # Other exceptions? return istext(open(file, "r")) def main(argv): for filename in argv: print filename+":", if os.path.isfile(filename): if istext(filename): print "text" else: print "binary" elif os.path.isdir(filename): print "directory" else: print "not file or directory" if __name__=='__main__': import sys main(sys.argv[1:])
- Previous message (by thread): How totell a binary file from a nonbinary file.
- Next message (by thread): Loading Modules Dynamically at RunTime
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list