前言
本编将学习的是os模块、sys模块、随机数模块。
分别是:os、sys、random
一、os模块
Python当中的os模块提供了丰富的方法来,对操作系统进行目录和文件处理。
import os
print(os.getcwd()) # 获取当前目录
os.chdir('..') # chdir()相当于 cd
print(os.curdir) # 当前目前,相当于 .
os.mkdir('dirname') # 创建单个目录
os.makedirs('dirname1/dirname2') # 创建多层目录
os.rmdir('dirname') # 删除单个空目录,若目录不为空则无法删除会报错
os.removedirs('dirname1') # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.listdir('dirname') # 列出指定目录下的所有文件,并以列表方式打印
os.remove('path') # 删除一个文件
os.rename("oldname", "newname") # 重命名文件/目录
os.stat('path/filename') # 获取文件/目录信息
os.system("bash command") # 运行dos/shell命令,直接显示
os.popen("bash command").read() # 运行dos/shell命令,获取执行结果
os.path.abspath(path) # 返回path规范化的绝对路径
os.path.split(path) # 将path分割成目录和文件名二元组返回
os.path.dirname(path) # 返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.realpath(__file__) # 获取当前的目录
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('dirname1', 'dirname2') # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path) # 返回path所指向的文件或者目录的最后访问时间
os.path.getmtime(path) # 返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path) # 返回path的大小
print(os.sep) # 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
print(os.linesep) # 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
print(os.pathsep) # 输出用于分割文件路径的字符串 win下为;,Linux下为:
print(os.name) # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
补充:删除文件夹
import shutil
shutil.rmtree("path")
二、sys模块
1.sys模块是与python解释器交互的一个接口:
import sys
print(sys.path) # python模块目录路径(python环境变量)
print(sys.path.clear()) # 清空python模块环境变量
print(sys.version) # 获取当前 python 版本信息
print(sys.platform) # 获取系统版本(不准确的)
print(sys.argv) # 命令行参数list
print(sys.exit(0)) # 参数0正常退出,1异常退出
2.sys.argv 命令行参数用法:
在dos命令或shell命令下执行,python3 py文件path 参数1 参数2....(编辑器里运行必定报错)
import sys
res_avg = sys.argv
name = res_avg[1]
pwd = res_avg[2]
print(type(name), name, type(pwd), pwd)
if name == 'gsxl' and pwd == '123456':
print('登录成功!')
else:print('账户或密码错误!!!')
G:\python_study\study\study_python\python_Basics>python day18.py
Traceback (most recent call last):
File "day18.py", line 81, in <module>
name = res_arvg[1]
IndexError: list index out of range
G:\python_study\study\study_python\python_Basics>python day18.py gsxl 123456
<class 'str'> gsxl <class 'str'> 123456
登录成功!
可以看到:python day18.py gsxl 123456,传入了参数1 参数2,如果没传是没有这个变量那么运行脚本肯定是会报错。
三、random随机数模块
1.随机数模块方法:
'''
一、random:随机数模块
'''
import random
print(random.random()) # 大于0且小于1之间的小数
print(random.uniform(1, 3)) # 大于1小于3的小数
print(random.randint(1, 5)) # 大于等于1且小于等于5之间的整数
print(random.randrange(1, 10, 2)) # 大于等于1且小于10之间的奇数
print(random.randrange(2, 11, 2)) # 大于等于2且小于等于10之间的偶数
print(random.choice([1, '23', [4, 5]])) # 1或者23或者[4,5])
print(random.sample([1, '23', [4, 5]], 2)) # 列表元素任意2个组合,返回的个数为函数的第二个参数
2.随机生成6位验证码:
import random
def v_code():
code = ''
for i in range(6):
num = random.randint(0, 9)
alf = chr(random.randint(65, 90))
add = random.choice([num, alf])
code = "".join([code, str(add)])
return code
print(v_code())
欢迎来大家QQ交流群一起学习:482713805