Python常用模块(一)
一.time模块
time模块提供各种操作时间的函数
时间三种格式
1.时间戳 以1970年1月1日 00:00:00开始的秒数
2.本地时间 localtime,表示计算机当前的时间
3.UTC世界统一时间
time中的常用函数:
time.time() --->返回时间戳,返回的是浮点数
time.strftime()--->将时间对象转换成规范的字符串
time.sleep()--->延迟运行时间,单位为s
time.gmtime()--->获得UTC时间元组
time.localtime()--->获取本地时间元组
time.mktime()--->将本地时间转成时间戳
time.asctime()与ctime()--->获取的是不同格式的时间
二.datetime模块
python实现的一个时间处理模块,datetime相比time更加灵活更加本土化
datetime获取当前时间,会根据当前系统时区自动转换比较方便,返回的是时间对象
datetime.date--->表示日期的类,常用的属性有year,month,day等
datetime.time--->表示时间的类,常用的属性有hour,minute,second等
datetime.datetime--->表示日期时间的类
三random模块
random随机数生成模块
random.random() -->随机0-1的浮点数,不包含1
random.randint(1,3) -->随机生成1到3的整数
random.randrange(1,3)-->随机生成1到3的整数,不包含3
random.choice([1,2,3])-->随机选择容器中的一个元素
random.suffle(列表)-->将参数打烂顺序
random.uniform(1,3)-->随机生成1到3的浮点数.不包含1也不包含3
四.sys模块
用于提供对解释器相关的访问以及维护,并由很强的交互功能
sys.argv --> 命令行参数List,第一个元素是程序本身路径
sys.exit(n) -->退出程序,正常退出时exit(0)
sys.version-->获取Python解释程序的版本信息
sys.maxsize --> 最大的Int值
sys.path --> 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform-->返回操作系统平台名称
五.shutil模块
shutil模块用于简化文件操作
shutil.copyfileobj-->将文件内容拷贝到另一个文件中
shutil.copyfile-->拷贝文件,目标文件无需存在
shutil.copymode-->仅拷贝权限,内容.组.用户均不变,目标文件必须存在
shutil.copystat-->仅拷贝状态的信息,目标文件必须存在
shutil.copy(src, dst)-->拷⻉贝⽂文件和权限提供两个⽂文件路路径
shutil.copy2(src, dst-->)拷⻉贝⽂文件和状态信息提供两个⽂文件路路径
shutil.copytree(src, dst, symlinks=False, ignore=None)-->拷⻉贝⽬目录
shutil.rmtree--> 删除⽬目录可以设置忽略略⽂文件
shutil.move(src, dst)-->移动⽬目录和⽂文件
压缩与解压缩
shutil可以打包但是无法解压包,并且打包也是调用tarfile和zipFile完成
解压需要按照格式调用对应的模块
打包:shutil.make_archive('test','tar','User\package')
zip压缩
z = zipfile.ZipFile("test.zip","w")
z.write("sys.py")
z.write("start.py")
z.close()
zip解压
z = zipfile.ZipFile("test.zip",'r')
z.extractall("/Users/jerry/PycharmProjects/package/aaa")
z.close()
tar压缩
t = tarfile.open("test.tar","w")
t.add("start.py")
t.add("sys.py")
t.close()
tar解压
t = tarfile.open("test.tar")
t.extractall("aaa/")
t.close
六.os模块
os.getcwd()获取当前⼯工作⽬目录,即当前python脚本⼯工作的⽬目录路路径
os.chdir("dirname")改变当前脚本⼯工作⽬目录;相当于shell下cd
os.curdir 返回当前⽬目录: ('.')
os.pardir 获取当前⽬目录的⽗父⽬目录字符串串名:('..')
os.makedirs('dirname1/dirname2')可⽣生成多层递归⽬目录
os.removedirs('dirname1')若⽬目录为空,则删除,并递归到上⼀一级⽬目录,如若也为空,则删除,依此类推
os.mkdir('dirname')⽣生成单级⽬目录;相当于shell中mkdir dirname
os.rmdir('dirname')删除单级空⽬目录,若⽬目录不不为空则⽆无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname')列列出指定⽬目录下的所有⽂文件和⼦子⽬目录,包括隐藏⽂文件,并以列列表⽅方式打印
os.remove()删除⼀一个⽂文件
os.rename("oldname","newname")重命名⽂文件/⽬目录
os.stat('path/filename')获取⽂文件/⽬目录信息
os.sep 输出操作系统特定的路路径分隔符,win下为"\\",Linux下为"/"
os.linesep 输出当前平台使⽤用的⾏行行终⽌止符,win下为"\t\n",Linux下为"\n"
os.pathsep 输出⽤用于分割⽂文件路路径的字符串串 win下为;,Linux下为:
os.name 输出字符串串指示当前使⽤用平台。win->'nt'; Linux->'posix'
os.system("bash command")运⾏行行shell命令,直接显示
os.environ 获取系统环境变量量
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的⼤大⼩小# normcase ⽤用于将路路规范化会将⼤大写转为⼩小写斜杠改为当前系统分隔符print(os.path.normcase("\\a \\b\\ABCS"))
# normpath⽤用于将路路径规范化不不仅将⾮非法的分隔符替换为合法分隔符还将⼤大写转为⼩小写并且会执⾏行行..的回到上⼀层print(os.path.normpath('a/b/../ABCS'))