"""
@name : 生成大文件
@author : huangshilong
@projectname : file_opreat
"""
import random
# 生成一个大文件
# 用列表生成式生成记录次数的列表
value_list = [0 for item in range(256)]
# 用字典生成式生成ip的hash表
dict = {item: nums for item, nums in zip(list(range(1, 257)), value_list)}
def creat_file():
with open('c.txt','a+') as big_file:
for i in range(300):
rd_numb = random.randint(1,256)
big_file.write("172.25.254."+str(rd_numb)+"\n")
dict[rd_numb]+=1
creat_file()
def count_ip():
# 得到排名前十的ip的次数
maxip_top10=[]
for item in dict:
maxip_top10.append(dict[item])
maxip_top10.sort()
maxip_top10=maxip_top10[-1:-11:-1]
# 创建ip次数前十的字典
maxip_top10_dict = {key:dict[key] for key in dict if dict[key] in maxip_top10}
n=1
for item in maxip_top10_dict:
print(f"ip172.25.254.{item},出现了{maxip_top10_dict[item]},排名第{n}")
n+=1
count_ip()