一.time模块
1.time模块简介
时间模块中的时间分为:字符串时间,数字秒数时间,结构化时间
字符串时间:2020-08-25
数字秒数时间:1598408649.2788196
结构化时间:time.struct_time(tm_year=2020, tm_mon=8, tm_mday=25, tm_hour=10, tm_min=24, tm_sec=9, tm_wday=1, tm_yday=238, tm_isdst=0)
2.基本的获取当前时间的函数
ꢀꢀtime.time():获取当前时间到1970年1月1日00:00:00的秒数,返回一个浮点数
ꢀꢀtime.locattime():获取当前时间的结构化时间
ꢀꢀtime.strftime("%Y-%m%d %H:%M:%S"):获取当前时间的字符串时间
ꢀꢀtime.asctime():获取当前字符串时间,已西方格式显示
3.相互转换
a.秒数转换为结构化时间:time.localtime(sec)
b.结构化时间转换为字符串时间:time.strftime("%Y%m%d %H:%M:%S",time.localtime(time.time()))
c.字符串时间转换为结构化时间:time.strptime(time.asctime())
d.结构化时间,转换为数字时间戳:time.mktime(time.localtime())
e.字符串时间转换为时间戳
先转换为结构化时间,然后转换为时间戳
strict_time = time.strptime("2020-08-08 15:32:23","%Y-%m-%d %X")
time.mktime(strict_time)
f.常用的一些基本时间函数
time.gmtime(0) :获取系统的新纪元,返回一个struct_time(结构化时间)
time.gmtime(secs):时间戳转换为结构化时间,不传参数,默认返回当前时间的结构化时间 #UTC+0的 时间
time.localtime(secs):时间戳转换为结构化时间,不传参数,默认返回当前时间的结构化时间 #UTC+时 区的时间
time.time():获取系统时间的时间戳
time.ctime(secs):时间戳转换为固定格式的字符串时间
time.asctime(struct_time):结构化时间转换为固定格式的字符串时间
time.mktime(struct_time):结构化时间转换为时间戳
time.strftime(format=",struct_time):结果化时间,转换为指定格式的字符串时间
time.strptime(string=,format=) :字符串时间,转换为结构化时间,传入2个参数,前一个为字符串时间,后一个为这个字符串时间的格式
二.OS模块
import os
#1.获取当前文件的工作目录
print(os.getcwd()) # 正规 \
#2.获取当前文件的绝对路径(目录+文件名)
print(__file__) #不正规 /
#3.获取文件所在的路径
#3.1获取当前文件所在的目录
print(os.path.dirname(__file__))
#3.2获取指定文件所在的目录
#print(os.path.dirname(某个文件的绝对路径))
#4.获取当前文件所在目录的绝对路径(目录+文件名)
print(os.path.abspath(__file__))
#5.获取当前文件的文件名(仅文件名)
print(os.path.basename(__file__))
#6.将当前文件所在路径分割成目录和文件名
path = os.path.abspath(__file__)
print(os.path.split(path))
print(os.path.split(__file__))
#7.路径拼接 os.path.join(path1,path2,...)
#os.path.join()函数:连接两个或更多的路径名组件
#7.11如果各组件名首字母不包含’/’,则函数会自动加上
a = os.path.join("e:/ABC/BBB","EF/cd")
print(a)
#7.2 如果有一个组件是绝对路径,则在它之前的所有组件均会被舍弃
# (如果后面的绝对路径A不包含盘符,A前面最近的组件B包含盘符,
# 会使用B的盘符;如果A有盘符,使用自己的)
b = os.path.join("e:/ABC/BBB","f:/EF/cd")
print(b)
c = os.path.join("e:/ABC/BBB","/EF/cd")
print(c)
d = os.path.join("e:/ABC/BBB","f:/EF/cd","/KK/qq")
print(d)
d = os.path.join("e:/ABC/BBB","/EF/cd","/KK/qq")
print(d)
#7.3 如果最后一个组件为空,则生成的路径以一个’\’分隔符结尾
e = os.path.join("e:/ABC/BBB","")
print(e)
f = os.path.join("e:/ABC/BBB"," ")
print(f)
#8.规范化路径及忽略路径中的大小写
c = os.path.join("e:/ABC/BBB","/EF/cd")
c1 = os.path.normpath(c) #规范化
c2 = os.path.normcase(c1) #全转小写
print(c1)
print(c2)
#9.判断是否存是目录、文件,及指定路径是否为绝对路径
tup = os.path.split(__file__)
print(tup)
#是否是目录
print(os.path.isdir(tup[0]))
print(os.path.isdir(tup[1]))
#是否是文件
print(os.path.isfile(tup[0]))
print(os.path.isfile(tup[1]))
#是否是绝对路径
print(os.path.isabs("/EF/fg"))
print(os.path.isabs("EF/fg"))
#10.判断路径是否存在
print(os.path.exists(__file__))
print(os.path.exists("F:/workspace"))
print(os.path.exists("/jfiewpjf/jfie"))
#11.创建目录
# os.mkdir('abc')
#12.os.walk():递归查找指定目录下的目录及文件,
# 返回3个元素的元组:
# dirpath(当前层的所在目录),
# dirnames(当前层下面的目录列表),
# filenames(当前层下面的文件列表)
for root,dirs,files in os.walk("./"):
print(root,dirs,files)