有关文件的练习
程序员文章站
2022-07-12 19:47:00
...
一些补充知识点
import string
print(string.hexdigits)#输出所有16进制数字字符串
f=open('/test/passwd')
# print(list(map(lambda x:x.strip(),f.readlines())))
#strip()用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列
# 该方法只能用于删除开头或结尾的字符,不能删除中间部分的字符
print([line.strip() for line in f.readlines()])
f.close()
1.创建文件data.txt 文件共有100000行
每行存放一个1~100之间的整数
import random
with open('data.txt', 'a+') as f:
for i in range(100000): # 0~99999
f.write(str(random.randint(1, 100)) + '\n')
f.seek(0,0)
print(f.read())
# print(f.closed)
2.生成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
# 创建mac函数
def create_mac():
mac = '01-AF-3B'
# 生成16进制的数
hex_num = string.hexdigits
for i in range(3):#循环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()
random.sample( )方法,多用于截取列表指定长度的随机数,但是不会改变列表本身的排序。