3月10日课后总结

3/10课后总结

random模块

import random

print(random.random()) # 产生一个0-1之间的随机数  注意会是小数

print(random.uniform(1, 5)) # 产生1-5之间的随机数,会是小数且不包括两头

print(random.randrange(1, 10, 2)) # 由1开始步距为2随机产生,不超过10

print(random.sample(['一等奖', '2等奖', '3等奖', '4等奖', '5等奖', '谢谢惠顾', '再来一瓶'],N))  # 从列表中随机抽取一N个

l = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
random.shuffle(l)  # 打乱顺序,直接print(random.shuffle(l))的话会输出None
print(l)

def v_code(flag):
    """
        随机产生一个验证码
    :param flag: 传入你想验证的次数
    :return: 返回验证码
    """
    code = ''
    for i in range(flag):
        random_1 = str(random.randint(0, 9))
        # 产生0-9的随机数
        random_2 = chr(random.randint(65, 90))
        # 产生A-Z的随机字母
        random_3 = chr(random.randint(97, 122))
        # 产生a-z的随机字母
        res = random.choice([random_1, random_2, random_3])
        # 从列表中随机抽取一个
        code += res
        # 存入code中
    return code


code = v_code(6)
receive = input(f'验证码:{code},请输入正确的验证码>>>')
if receive.upper() == code.upper():
    # 全部置为大写方便比较
    print('验证成功')
else:
    print('验证失败')

os模块

os.makedirs('xx\ss\dd')  # 生成多级递归目录
os.removedirs('xx\ss\dd')  # 如果目录是空则删除目录,并且递归到上一层
os.mkdir('xx')  # 创建单个目录
os.rmdir('xx')  # 删除单级目录,若目录是空则删除,若不为空则报错
print(os.listdir(r'E:\23年上海学习\python'))  # 列出目录下全部的文件,以列表的形式输出
os.remove('xx.txt')  # 删除一个文件,注意删除文件不可以删除文件夹
os.rename("oldname","newname")  # 重命名文件/目录
print(os.stat('08.py'))  # 获取文件或者目录的信息
os.system("bash command")  # 运行shell命令,直接显示
os.popen("bash command).read()  # 运行shell命令,获取执行结果
os.getcwd() # 即当前python脚本工作的目录路径
os.chdir("xx")  # 切换当前脚本工作路径
os.path
os.path.abspath(path) # 返回path规范化的绝对路径
os.path.split(path)  # 将path分割成目录和文件名二元组返回 
os.path.dirname(path) 
# 返回path的目录。其实就是os.path.split(path)的第一个元素 
os.path.basename(path) 
# 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path)  # 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path) # 如果path是绝对路径,返回True
os.path.isfile(path) # 如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path) # 如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]]) # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path) # 返回path所指向的文件或者目录的最后访问时间
os.path.getmtime(path) # 返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path)  # 返回path的大小 

sys模块

# system 它是跟解释器相关的
sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version        获取Python解释程序的版本信息
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform  

json模块

"""
	又叫序列化模块
	序列:字符串
	序列化:把其他类型转为字符串的过程
"""
json.dumps()    # 序列化
json.loads()    # 反序列化
json.dump()     # 序列化写入文件
json.load()     # 从文件里读出并反序列化
'''
	反序列化就是把字符串转回去的过程
	可以直接写入文件的类型:
		1. 字符串
		2. 二进制
	json实现了跨语言传输
'''

pickle模块

'''
    json和pickle模块都支持dumps, loads;  dump, load
    
    pickle处理的数据只能在python中使用
    pickle序列化之后的数据是二进制
    pickle在python中可以序列化所有的数据类型
'''
import pickle
d = {'a':1}
# res=pickle.dumps(d)
# print(pickle.loads(res))

# with open('c.txt', 'wb') as f:
#     pickle.dump(d, f)

# with open('c.txt', 'rb') as f:
#     print(pickle.load(f))
posted @ 2023-03-13 18:36  橘子熊何妨  阅读(12)  评论(0)    收藏  举报