datetime
datetime模块的功能类似time模块,主要作用是提取当前时间。
主要关键字
1.datetime
使用之后就可以通过变量提取当前的年月日时分秒。
import datetime
res = datetime.datetime.today() # 将当前具体的年月日时分秒赋值给变量
除此之外,还能通过year,month等单独获取时间数值。
#datetime还可以单独获取年份月份等数值
print(res.year)
print(res.month)
2.date
相比datetime,date只能获取到年月日。
import datetime
res = datetime.date.today()
除此之外,date还可以使用timedelta来对年月日进行数值增减操作。
t = datetime.date.timedelta(days = 3)
print(res - t)
print(res + t)
os模块
os模块主要用于和操作系统进行交互,可以用代码打开文件、文件夹,新建删除等操作,在实际程序运用中十分重要。
主要关键字
1.创建文件夹目录
使用mkdir即可在目标目录下新建文件夹
import os
os.mkdir(r'dd') #在执行文件的文件夹内新建一个文件夹,文件夹名为括号内的引号内容
但是mkdir无法创建多级目录,需要使用makedirs来替代。
import os
os.makedirs(r'aa\bb\cc') #在执行文件目录内依次创建多层文件夹
2.删除文件夹
使用rmdir即可移除目标目录下的文件夹,但文件夹必须内容为空,如果目标不是空文件夹则会报错。
import os
os.rmdir(r'aa') #移除执行文件目录下的空文件夹
删除文件夹同样可以从内到外批量删除,方法为使用removedirs。
import os
os.removedirs(r'aa\bb\cc') #按内到外的顺序批量删除文件夹
批量删除时也只能删除空文件夹,当正在删除的文件夹有内容时会终止删除行为。
3.列举文件夹内容
使用listdir即可把目标文件夹内所有文件名储存成列表,储存结果包括文件格式后缀。
import os
os.listdir(r'project') #将文件夹内容以列表形式储存
4.重命名文件 删除文件
rename的效果为,将括号内前面的文件的文件名更改成后面的文件名,如果更改后的文件名已经存在则会报错。
os.rename(r'a.txt',r'aaa.txt') #将指定文件更改成后面的名字
os.remove(r'aaa.txt') #将文件删除
5.获取当前文件路径
使用后即可获得当前执行文件的绝对路径。
import os
print(os.getcwd())
6.获取程序启动文件的路径
import os
print(os.path.abspath(__file__)) #获取程序启动文件的绝对路径
print(os.path.dirname(__file__)) #获取程序启动文件所在的目录路径
获取程序启动文件路径有两种内置方法,一种是abspath获取程序启动文件的绝对路径,一种是dirname获取程序启动文件所在的目录路径,两种方法都需要在括号内添加__file__的内置方法,否则会出现报错。
7.判断目标路径是否存在
使用exists可以判断文件或文件夹是否存在于当前目录,存在则输出True。
import os
print(os.path.exsits(r'b.txt')) #判断目标文件是否存在,存在输出True
print(os.path.exsits(r'project')) #判断目标文件夹是否存在
除此之外还有两种方式,isdir和isfile。isdir用于判断文件夹是否存在,isfile用于判断文件是否存在。
8.文件路径拼接
join关键字可以自动将两个文件路径进行拼接,
import os
path_a = 'D:\project\aim'
path_b = 'b.txt'
res = os.path.join(path_a, path_b) #将两个文件路径进行拼接
不仅能自动添补缺失的\,而且会根据操作系统自动更改路径格式(windos用\,mac用/)。
9.获取文件大小
import os
print(os.path.getsize(r'b.txt')) #获取文件大小,单位为bytes
使用getsize就可以获取文件大小,单位为bytes。
Sys模块
sys模块用于与python解释器交互。
主要关键字
1.path
获取当前python解释器相关文件的路径,结果以列表形式返回
import sys
print(sys.path)
2.version
获取当前python解释器版本的各种信息
import sys
print(sys.version)
3.platform
查看当前操作系统平台(32/64)
import sys
print(sys.platform)
json模块
json模块用于将数据格式转换为json格式,由于各个不同的程序语言的同一数据类型内部的格式不一定相同,不同程序语言编写的代码文件直接进行传输会出现报错,但各种程序语言都可以使用json格式,所以json格式可以当做程序语言转换格式的中继器。
主要关键字
1.dump/dumps/load/loads
dump/dumps用于将数据转换为json格式的字符串
load/loads用于读取json格式的字符串并自动转换为对应的数据类型
import json
d = {'name': 'jason', 'pwd': 123}
with open(r'b.txt', 'w', encoding='utf8') as f:
f.write(json.dumps(d)) #将字典转换为json格式并写入txt文件
with open(r'b.txt', 'r', encoding='utf8') as f:
data = f.read()
data1 = json.loads(data) #将读取出来的json格式转换为对应的数据类型
print(data1, type(data1))
如果没有loads转换数据,最后打印出来的type类型将会是字符串而不是字典。
如果打开对应的文件会发现,在json格式中所有的单引号''会自动换成双引号""
dump() | 将数据转换为json格式并写入到文件中 |
dumps() | 将数据转换为json格式 |
load() | 将文件内json数据转换为对应的格式并自动读取 |
loads() | 将json数据转换为对应的格式 |