#python 3.5
# cf1 - 1st order character distribution
# text or binary files
#set up array
from array import array
a = array("H")
# ASCII
def printable(n):
if((n>31 and n<127)):
return(True)
else:
return(False)
input_file = input("file name: ")
f = open(input_file, 'rb')
# creat and initialize array
a = [0 for i in range(256)]
while True:
nextch = f.read(1)
if(not nextch): break
a[ord(nextch)] += 1
for i in range(256):
if(a[i] > 0):
if(printable(i)):
print("'" + chr(i) + "'", "\t", a[i])
else:
print(i, "\t", a[i])
f.close()
Comments