defread_input():# 读取文件成字节流
file_path =input('please input the path of the file:')
f = np.fromfile(file_path, dtype=np.uint8)return f
计算信息量
defcompute_info(x):# 计算信息量
value = np.zeros(256)for i in x:
value[i]= value[i]+1
p = value / x.size
p = np.where(p ==0,1, p)
self_info =-np.log2(p)
info = np.sum(p * self_info)return info
主函数
defmain():
x = read_input()#输入待计算信息量的文件
info = compute_info(x)print(info)#打印计算出的信息量
程序
import numpy as np
defmain():
x = read_input()#输入待计算信息量的文件
info = compute_info(x)print(info)#打印计算出的信息量defcompute_info(x):# 计算信息量
value = np.zeros(256)for i in x:
value[i]= value[i]+1
p = value / x.size
p = np.where(p ==0,1, p)
self_info =-np.log2(p)
info = np.sum(p * self_info)return info
defread_input():# 读取文件成字节流
file_path =input('please input the path of the file:')
f = np.fromfile(file_path, dtype=np.uint8)return f
if __name__ =='__main__':
main()