欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

有关文件的练习

程序员文章站 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( )方法,多用于截取列表指定长度的随机数,但是不会改变列表本身的排序。

相关标签: python