练习一:
创建文件data.txt,共100000行,每行存放一个1~100之间的整数
import random
f = open('data.txt','w+')
for i in range(100000):
f.write(str(random.randint(1,100)) + '\n')
f.seek(0,0)
print(f.read())
f.close()
练习二
生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B
01-AF-3B(-xx)(-xx)(-xx)
-xx
01-AF-3B-xx
-xx
01-AF-3B-xx-xx
-xx
01-AF-3B-xx-xx-xx
import random
import string
def create_mac():
mac = '01-AF-3B'
# 生成16进制的数
hex_num = string.hexdigits
for i in range(3):
# 从16进制字符串中随机选择两个数字
# 返回值是一个列表
n = random.sample(hex_num,2)
# 拼接内容 将小写字母转换称大写字母
sn = '-' + ''.join(n).upper()
mac += sn
return mac
# 主函数 随机生成100个mac地址
def main():
with open('mac.txt','w') as f:
for i in range(100):
mac = create_mac()
print(mac)
f.write(mac + '\n')
main()
练习三:
生成一个大文件ips.txt,要求1200行,每行随机为172.25.254.0/24段的ip
读取ips.txt文件统计这个文件中ip出现频率排前10的ip
import random
def create_ip(filename):
ip=['172.25.254.'+str(i) for i in range(1,255)]
with open(filename,'w') as f:
for i in range(1200):
f.write(random.sample(ip,1)[0]+'\n')
create_ip('ips.txt')
ips_dict={}
with open('ips.txt') as f :
for ip in f:
ip=ip.strip()
if ip in ips_dict:
ips_dict[ip]+=1
else:
ips_dict[ip]=1
sorted_ip=sorted(ips_dict.items(),key=lambda x:x[1],reverse=True)[:10]
print(sorted_ip)