
1.os
1.1 作用
主要是和操作系统相关的一个模块,如可以进行文件/目录的创建、删除等
1.2 导入
import os
1.3 常用方法及说明
| 常用方法 |
说明 |
| os.getcwd() |
获取当前路径 |
| os.chdir(path) |
改变当前工作目录 |
| os.listdir(path) |
列出指定路径下的所有文件和子目录,以列表形式展示 |
| os.mkdir(‘dirname’) |
创建文件夹 |
| os.makedirs(‘dirname1/dirname2’) |
可以生成多层递归目录 |
| os.removedirs(‘dirname’) |
若目录为空,则删除,并递归到上一层目录,若也为空,则删除。 |
| os.rmdir(‘dirname’) |
删除空目录,若目录不为空则报错 |
| os.remove() |
删除一个文件 |
| os.rename(‘oldname’,‘newname’) |
重命名文件/目录 |
| os.stat(‘path/filename’') |
获取文件/目录信息 |
| os.sep |
输入操作系统特定的路径分隔符,win下为’\‘,Linux为’/’ |
| os.name |
获取当前的平台,win为’nt’ ,Linux为’posix’ |
| os.system(‘command’) |
运行shell命令 |
| os.environ |
获取系统环境变量 |
| os.path.abspath(path) |
返回path的绝对路径 |
| os.path.split(path) |
将path分割成目录和文件名的元组 |
| os.path.splittext(path) |
分割路径,返回路径名和文件扩展名的元祖 |
| os.path.dirname(path) |
返回path的上一层目录 |
| os.path.basename(path) |
返回path中最后的文件名 |
| os.path.exist(path) |
若path存在返回True,否则返回False |
| os.path.isfile(path) |
若path是一个文件则返回Ture,否则返回False |
| os.path.isdir(path) |
若path是一个目录则返回Ture,否则返回False |
| os.path.isabs(path) |
若path是绝对路径则返回Ture,否则返回False |
| os.path.join(path1[, path2[, …]]) |
把目录和文件名合成一个路径 |
| os.path.getsize(path) |
返回文件大小,如果文件不存在就报错 |
| os.path.getmtime(path) |
返回最近文件修改时间 |
| os.path.getctime(path) |
返回文件path创建时间 |
| os.path.realpath(path) |
返回path的真实路径 |
| os.path.normpath(path) |
返回path的真实路径 |
1.4 示例
import os
print(os.getcwd())
print(os.listdir())
os.mkdir("aaa")
os.rmdir("aaa")
os.makedirs("abc/bcd")
os.removedirs("abc/bcd")
print(os.stat('abc.txt'))
print(os.path.abspath("."))
os.path.exists(r"E:\project\demo01")
os.path.isfile("abc.txt")
print(os.path.split(r"E:\project\demo_mod\abc.txt"))
print(os.path.dirname(r"E:\project\demo_mod\abc.txt"))
2.sys
2.1 作用
针对python解释器相关的变量和方法
2.2 导入
import sys
2.3 常用方法及说明
| 属性/方法 |
说明 |
| sys.argv |
命令行参数,第一个参数为脚本名字 |
| sys.modules |
所有加载到内存的模块都放在modules |
| sys.path |
返回查找模块的搜索路径,以列表返回 |
| sys.platform |
返回操作系统平台名词 |
| sys.version |
返回python解释器程序的版本信息 |
| sys.exit() |
退出程序 |
2.4 示例
import sys
print("获取默认第一个参数:",sys.argv)
print("获取系统路径:",sys.path)
print("获取当前平台:",sys.platform)
print("获取当前版本:",sys.version)
获取默认第一个参数: ['E:/project/demo_mod/demo02_sys.py']
获取系统路径: ['E:\\project\\demo_mod', 'E:\\project\\demo_mod', 'C:\\python36\\python36.zip', 'C:\\python36\\DLLs', 'C:\\python36\\lib', 'C:\\python36', 'C:\\python36\\lib\\site-packages']
获取当前平台: win32
获取当前版本: 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)
3.time
3.1 作用
和时间相关的模块
3.2 导入
import time
3.3 常用方法及说明
| 方法 |
说明 |
| time.time() |
获取当前时间戳 |
| time.sleep(n) |
当前线程停止运行n秒 |
| time.asctime() |
返回当前时间,格式是西欧格式 |
| time.ctime() |
返回当前时间,格式是西欧格式 |
| time.localtime() |
返回当前时间对象 |
| time.struct_time() |
构造一个对应的事件对象 |
| time.strftime() |
将一个时间对象格式化为特定的字符串输出 |
| time.strptime() |
照格式化字符把一个格式化时间字符串转成元组。 |
3.4 示例
import time
print("获取当前时间戳:",time.time())
print("返回当前时间,西欧格式:",time.ctime())
print("返回当前时间对象:",time.localtime())
time.sleep(2)
print("返回格式化后的时间:",time.strftime("%Y-%m-%d %X", time.localtime()))
print("将格式化的时间转化成时间对象,元祖形式:",time.strptime('2010-8-11 7:26:16', '%Y-%m-%d %X'))
获取当前时间戳: 1634373068.0492582
返回当前时间,西欧格式: Sat Oct 16 16:31:08 2021
返回当前时间对象: time.struct_time(tm_year=2021, tm_mon=10, tm_mday=16, tm_hour=16, tm_min=31, tm_sec=8, tm_wday=5, tm_yday=289, tm_isdst=0)
返回格式化后的时间: 2021-10-16 16:31:10
将格式化的时间转化成时间对象,元祖形式: time.struct_time(tm_year=2010, tm_mon=8, tm_mday=11, tm_hour=7, tm_min=26, tm_sec=16, tm_wday=2, tm_yday=223, tm_isdst=-1)
4.datetime
4.1 作用
关于时间和日期的模块 ,这里面有几个常用的类,包括:
- date : 日期类
- time : 时间类
- datetime : 日期和时间的类 ,相当于前面的两个类
- datedelta : 时间间隔
4.2 导入
4.3 常用方法及说明
from datetime import date
d = date(date(2020,11,20))
下面表格中的d就是上面的日期对象
| 属性/方法 |
说明 |
| date.max |
返回最大的日期对象 |
| date.min |
返回最小的日期对象 |
| d.year |
返回2020 |
| d.month |
返回11 |
| d.day |
返回20 |
| d.replace(year,month,day) |
生成并返回一个新的日期对象,原日期对象不变 |
| d.timetuple() |
返回日期对应的time.struct_time对象 |
| d.toordinal() |
返回日期自0001-01-01开始的第多少天 |
| d.weekday() |
返回日期是星期几,[0, 6],0表示星期一 |
| d.isoweekday() |
返回日期是星期几,[1, 7], 1表示星期一 |
| d.isocalendar() |
返回一个元组,格式为:(year, weekday, isoweekday) |
| d.isoformat() |
返回‘YYYY-MM-DD’格式的日期字符串 |
| d.strftime(format) |
返回指定格式的日期字符串,与time模块的strftime(forma t, struct_time)功能相同 |
from datetime import time
t = time(20,51,32)
下面表格中的t就是上面的时间对象
| 属性/方法 |
说明 |
| t.hour |
返回20,取值范围[0,23] |
| t.minute |
返回51,取值范围在[0,59] |
| t.second |
返32,取值范围在[0,59] |
| t.microsecond |
微秒 |
| t.tzinfo |
返回传递给time构造方法的tzinfo对象,如果该参数未给出,则返回None |
| t.replace(hour[, minute[, second[, microsecond[, tzinfo]]]]) |
生成并返回一个新的时间对象,原时间对象不变 |
| t.isoformat() |
返回一个‘HH:MM:SS.%f’格式的时间字符串 |
| t.strftime() |
返回指定格式的时间字符串,与time模块的strftime(format, struct_time)功能相同 |
from datetime import datetime
dt = datetime(2020,09,22,10,35,28,322)
下面表格中的dt就是上面的日期时间对象
| 属性/方法 |
说明 |
| dt.year |
返回2020 |
| dt.month |
返回09 |
| dt.day |
返回22 |
| dt.hour |
返回10 |
| dt.minute |
返回35 |
| dt.second |
返回28 |
| dt.microsecond |
返回322 |
| datetime.today() |
返回一个表示当前本期日期时间的datetime对象 |
| datetime.now([tz]) |
返回指定时区日期时间的datetime对象,如果不指定tz参数则结果同上 |
| datetime.utcnow() |
返回当前utc日期时间的datetime对象 |
| datetime.fromtimestamp(timestamp[, tz]) |
根据指定的时间戳创建一个datetime对象 |
| datetime.utcfromtimestamp(timestamp) |
根据指定的时间戳创建一个datetime对象 |
| datetime.combine(date, time) |
把指定的date和time对象整合成一个datetime对象 |
| datetime.strptime(date_str, format) |
将时间字符串转换为datetime对象 |
| datetime.timedelta() |
返回一个时间间隔对象,可以直接与datetime.datetime对象做加减操作 |
4.4 示例
date示例
from datetime import date
now = date(2021, 10, 16)
tomorrow = now.replace(day = 17)
print('今天日期:', date.today())
print('今天日期:', now,)
print('明天日期:', tomorrow)
print("日期的元祖", now.timetuple())
print('返回星期几,0代表星期一:', now.weekday())
print('返回星期几,1代表星期一:', now.isoweekday())
print( '返回一个元祖', now.isocalendar())
print( '返回日期字符串:', now.isoformat())
print( '返回格式化的日期:', now.strftime("%Y-%m-%d"))
今天日期: 2021-10-16
今天日期: 2021-10-16
明天日期: 2021-10-17
日期的元祖 time.struct_time(tm_year=2021, tm_mon=10, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0