datetime.datetime
-模块提供比较好用的时间而已
-类定义
class datetime.datetime(year, month, day[, hour
[, minute
[, second
[, microsecond
[, tzinfo]]]]])
#The year, month and day arguments are required.
MINYEAR <= year <= MAXYEAR
1 <= month <= 12
1 <= day <= n
0 <= hour < 24
0 <= minute < 60
0 <= second < 60
0 <= microsecond < 10**
-类方法datetime.today(): 返回当前本地datetime.随着 tzinfo None. datetime.fromtimestamp(time.time()). datetime.now([tz]): 返回当前本地日期和时间, 如果可选参数tz为None或没有详细说明,这个方法会像 today(). datetime.utcnow(): 返回当前的UTC日期和时间, 如果tzinfo None ,那么与now()类似. datetime.fromtimestamp(timestamp[, tz]): 根据时间戳返回本地的日期和时间.tz指定时区. datetime.utcfromtimestamp(timestamp): 根据时间戳返回 UTC datetime. datetime.fromordinal(ordinal): 根据Gregorian ordinal 返回datetime. datetime.combine(date, time): 根据date和time返回一个新的datetime. datetime.strptime(date_string, format): 根据date_string和format返回一个datetime. -实例方法 datetime.date(): 返回相同年月日的date对象. datetime.time(): 返回相同时分秒微秒的time对象. datetime.replace(kw): kw in [year, month, day, hour, minute, second, microsecond, tzinfo], 与date类似. -类属性 datetime.min: datetime(MINYEAR, 1, 1). datetime.max: datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999). -实例属性(read-only) datetime.year: 1 至 9999 datetime.month: 1 至 12 datetime.day: 1 至 n datetime.hour: In range(24). 0 至 23 datetime.minute: In range(60). datetime.second: In range(60). datetime.microsecond: In range(1000000).
OS-操作系统相关
- 跟操作系统相关,主要是文件操作
- 与系统相关的操作,主要包含在三个模块里
- os,操作系统目录相关
- os.path,系统路径相关
- shutil,高级文件操作,目录树的操作,文件赋值,删除,移动
- 路径:
- 绝对路径: 总是从根目录上靠开始
- 相对路径: 基本以当前环境为开始的一个相对的地方
os模块
-
getcwd() 获取当前工作目录
-
格式: os.getcwd()
-
返回值:当前工作目录的字符串
-
当前工作目录就是程序在进行文件相关操作,默认查找文件的目录
import os #使用前要导入 mydir = os.getcwd() print(mydir)
-
chdir() 改变当前的工作目录(change directory)
-
格式:os.chdir(路径)
-
返回值:无
os.chdir('/home/tlxy') mydir = os.getcwd() print(mydir)
-
listdir() 获取一个目录中所有子目录和文件的名称列表
-
格式:os.listdir(路径)
-
返回值:所有子目录和文件名称的列表
ld = os.listdir() print(ld)
-
makedirs() 递归创建文件夹
-
格式:os.makedirs(递归路径)
-
返回值:无
-
递归路径:多个文件夹层层包含的路径就是递归路径 例如a/b/c…
rst = os.makedirs("dana") print(rst)
-
system() 运行系统shell命令
-
格式:os.system(系统命令)
-
返回值:打开一个shell或者终端界面
-
一般推荐使用subprocess代替
rst = os.system("ls") #ls是列出当前文件和文件夹的系统命令 print(rst)
-
getenv() 获取指定的系统环境变量值
-
相应的还有putenv
-
格式:os.getenv(‘环境变量名’)
-
返回值:指定环境变量名对应的值
rst = os.getenv("PATH") print(rst)
-
exit() 退出当前程序
-
格式:exit()
-
返回值:无
值部分
- os.curdir: curretn dir,当前目录
- os.pardir: parent dir, 父亲目录
- os.sep: 当前系统的路径分隔符
- windows: “”
- linux: “/”
- os.linesep: 当前系统的换行符号
- windows: “\r\n”
- unix,linux,macos: "\n
- os.name: 当前系统名称
- windows: nt
- mac,unix,linux: posix
os.path 模块,根路径相关的模块
import os.path as op
-
abspath() 将路径转换为绝对路径
-
格式: os.path.abspath(‘路径’)
-
返回值:路径的绝对路径格式
-
在Linux中
· - . 点号,表示当前目录-
… 双点,代表父目录
absp = op.abspath(".")
print(absp)
-
-
basename() 获取路径中的文件名部分
-
格式:os.path.basename(路径)
-
返回值:文件名字符串
bn = op.basename("路径") print(bn)
-
join() 将多个路径拼合成一个路径
-
格式:os.path.join(路径1,路径2…)
-
返回值:组合之后的新路径字符串
-
split() 将路径切割为文件夹部分和当前文件部分
-
格式:os.path.split(路径)
-
返回值:路径和文件名组成的元组
-
isdir()检测是否是目录(is开头的一般返回一个布尔值)
-
格式:os.path.isdir(路径)
-
返回值:布尔值
-
exists() 检测文件或者目录是否存在
-
格式:os.path.exists(路径)
-
返回值:布尔值
shutil模块
import shutil
-
copy() 复制文件
-
格式:shutil.copy(来源路径,目标路径)
-
返回值:返回目标路径
-
拷贝的同时,可以给文件重命名
-
copy2()复制文件,保留元数据(文件信息)
-
格式:shutil.copy(来源路径,目标路径)
-
返回值:返回目标路径
-
注意:copy和copy2的唯一区别在于copy2复制文件时尽量保留元数据
-
copyfile()将一个文件中的内容拷贝到另外一个文件中
-
格式:shutil.copyfile(‘原路径’,‘目标路径’)
-
返回值:无
-
move()移动文件/文件夹
-
格式:shutil.move(原路径,目标路径)
-
返回值:目标路径!
归档和压缩
-
归档:把多个文件或者文件夹合并到一个文件当中
-
压缩:用算法把多个文件或文件夹无损或者有损合并到一个文件当中
-
make_archive() 归档操作
-
格式:shutil.make_archive(‘归档之后的目录和文件名’,‘后缀’,‘需要归档的文件夹’)
-
返回值:归档之后的地址
-
unpack_archive() 解包操作
-
格式:shutil.unpack_archive(‘归档文件地址’,‘解包之后的地址’)
-
返回值:解包之后的地址
zip - 压缩包
-
模块名称叫zipfile
import zipfile
-
zipfile.ZipFile(file[,model[,compression[,allowZip64]]])
-
创建一个ZipFile对象,表示一个zip文件。
-
ZipFile.getinfo(name):
-
获取ZIP文档内指定文件的信息。
-
ZipFile.namelist()
-
获取zip文档内所有文件的名称列表
-
ZipFile.extractall(path[,members[,pwd[]]])
-
解压zip文档中所有文件到当前目录
random 模块
-
随机数
-
所有的随机模块都是伪随机
import random
-
random(): 获取0-1之间的随机小数
-
格式: random.random()
-
返回值:随机0-1之间的小数
-
choice()随机返回序列中的某个值
-
格式:random.choice(序列)
-
返回值:序列中的某个值
l = [str(i)+"haha" for i in range(10)] rst = random.choice(l) print(rst)
-
shuffle() 随机打乱列表
-
格式:random.shuffle(列表)
-
返回值:打乱顺序后的列表
l1 = [i for i in range(10)] print(l1) random.shuffle(l1) print(l1)
-
randint(a,b) :返回一个a到b之间的随机整数,包含a和b
print(random.randint(0,100))