一、random模块
在未来的开发中,我们可能需要用到生成随机数,这样就需要用到random模块
importrandomprint(random.random()) #随机生成0-1中的数
print(random.randint(1, 8)) #随机生成指定整数范围中的数,如1到8的整数,包括1和8
print(random.randrange(1, 8)) #随机生成指定的数的范围,如1到8,左开右闭
print(random.choice('hello world!')) #随机生成序列中的元素
print(random.choice([1, 'hello', (24, 3)]))
案例:验证码生成器
#一个len长度为5位的字母数字混合的验证码
defcode():
co= ""
for i in range(5):
p= random.choice([random.randrange(10), chr(random.randrange(65, 91))])
co+=str(p)print(co)
code()
指定验证码的偶数位是数字,奇数位是字母
defcode():
co= ""
for i in range(1, 6):if i % 2 ==0:
p= str(random.randrange(10))else:
p= str(chr(random.randrange(65, 91)))
co+=pprint(co)
code()
附:
chr()是内置函数
def chr(*args, **kwargs): #real signature unknown
"""Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff."""
pass
二、os模块
os模块这是一个调用操作系统接口的一个模块
目录操作
importos#目录操作#创建目录
os.mkdir('test') #创建当前目录下同级目录
os.mkdir(r'D:\zgzeng\test2') #在指定的目录下创建目录
#判断是否创建成功
print(os.path.isdir('test')) #True
print(os.path.isdir(r'D:\zgzeng\test2')) #True
os.makedirs(r'a\b\c') #在相对路径下创建递归目录
os.makedirs(r'D:\zgzeng\test3\test4\test5') #在指定的目录下创建递归目录
print(os.path.isdir(r'D:\zgzeng\test3\test4\test5')) #True
print(os.path.exists(r'a\b\c')) #True,判断目录是否存在
#删除目录
os.rmdir(r'a\b\c') #删除指定的空目录 ,只能删除一层目录,也就是c目录
os.rmdir(r'D:\zgzeng\test2') #指定删除空目录
print(os.path.exists(r'a\b\c')) #False
os.removedirs(r'a\b') #递归删除空的目录
print(os.path.isdir(r'a\b')) #False
#重命名目录
os.rename(r'.\test', r'.\test2') #指定修改文件目录名,如果在当前目录下存在test2这个目录,那么就会报错
print(os.path.isdir('test')) #False
print(os.path.isdir('test2')) #True
#获取目录
print(os.listdir(r'D:\zgzeng\pychon基础\reee')) #指定路径,列出该路径目录下包含的文件夹和文件名#['1', '1-异常.py', '2-异常处理格式2.py', '3-异常处理3.py', '4-捕获异常.py', '5-捕获具体的异常信息.py', '6-异常处理机制.py', '7-自定义异常.py', '8-案例.py', 'datas_1.py', 'lianxi.py', '__pycache__']
#返回当前目录
print(os.getcwd()) #D:\zgzeng\pychon基础 获取当前工作路径
#返回上级路径
os.chdir('..') #返回到指定路径,这里返回上一级路径
print(os.getcwd()) #D:\zgzeng
os.chdir(r'C:\Users')print(os.getcwd()) #C:\Users
# 删除文件
os.remove('test.txt') # 删除指定文件
os.remove(r'D:\zgzeng\1.txt')
# 获取指定文件/目录信息
print(os.stat('1.txt'))
# os.stat_result(st_mode=33206, st_ino=2533274790396271, st_dev=2221381207, st_nlink=1, st_uid=0, st_gid=0, st_size=34, st_atime=1597026039, st_mtime=1597026039, st_ctime=1592642197)
os.system("bash command") 运行shell命令,直接显示
os.path.abspath(path) 返回path规范化的绝对路径
文件操作
os.open()方法打开一个文件,并且设置需要打开的选项
importos#os.open(file, flags[,mode])#file参数是需要打开的文件,#flags
os.open('qq号码.py', os.O_RDONLY) #以只读的方式打开
os.open('qq号码.py', os.O_WRONLY) #以只写的方式打开
os.open('qq号码.py', os.O_RDWR) #以读写的方式打开
os.open('qq号码.py', os.O_NOINHERIT) #打开不阻塞
os.open('qq号码.py', os.O_APPEND) #以追加的方式打开
os.open('qq号码2.py', os.O_CREAT) #创建并打开一个新文件
os.open('file', os.O_TRUNC) #打开一个文件并截断它的长度(必须有写的权限)
os.open('qq号码.py', os.O_EXCL) #如果指定文件存在,返回错误
os.write()方法用于写入字符串到文件中,描述符fd中,返回实际写入的字符串长度
os.lseek()方法用于设置文件描述符fd当前位置为pos,how方式修改
os.read()方法用于从文件描述符fd中读取最多n字节,返回包含读取字节的字符串,文件描述符fd对应文件已达到结尾,返回一个空字符串
os.fsync() 方法强制将文件描述为fd的文件写入硬盘
os.close()方法用于关闭文件描述符fd
f = os.open('test.txt', os.O_CREAT | os.O_RDWR) #打开文件
os.write(f, b'This is test') #写入内容
os.fsync(f)#将字符串刷新到硬盘上
os.lseek(f, 0, 0)#将指针置为0
text= os.read(f, 100) #读取文件
print(text) #b'This is test'
os.close(f)