1.from datetime import datetime,timedelta
from datetime import datetime,timedelta
cday=datetime.strptime('2021-12-17 10:58:30','%Y-%m-%d %H:%M:%S')#str转换为datetime
print(cday)
c=datetime(2021,12,17,11,3,30)
print(c)
now=datetime.now()#获取当前时间
print(now)
now+=timedelta(hours=10,seconds=30)#对日期和时间进行加减
print(now)
输出:
2.import copy
copy.copy()方法:浅层复制
copy.deepcopy()方法:深层复制
import copy
a=[0,1,[0,1]]
b=a[:]
c=a.copy()
d=copy.copy(a)
e=copy.deepcopy(a)
a[2][0]='你'
print(a,'\n',b,'\n',c,'\n',d,'\n',e)
运行结果:
3.import yaml
转载:https://www.jianshu.com/p/eaa1bf01b3a6
yaml是一个专门用来写配置文件的语言,(键值对的集合)
特点:
区分大小写;使用缩进表示层级关系;使用空格键表示缩进;
缩进的空格数目不固定,只需要相同层级的元素左侧对齐;
文件中的字符串不需用引号标注,但若字符串包含特殊字符则须用引号引用标注
(1)读取yaml文件的代码、yaml文档、yaml解析
import yaml
import os
def get_yaml_load_all(yaml_file):#yaml文件中含有多个文档时,分别获取文档中数据
# 打开yaml文件
file = open(yaml_file, 'r', encoding="utf-8")
file_data = file.read()
file.close()
all_data = yaml.load_all(file_data)
for data in all_data:#使用load_all来解析全部文档
print(data)
current_path = os.path.abspath(".")
yaml_path = os.path.join(current_path, "usr1.yaml")
get_yaml_load_all(yaml_path)
#分段yaml文件中多个文档
usr1:
name:a
age:2
---
usr2:
name:b
age:5
(2)生成yaml文档
# 将python对象生成yaml文档
import yaml
def generate_yaml_doc(yaml_file):
py_object = {'school': 'zhang',
'students': ['a', 'b']}
file = open(yaml_file, 'a', encoding='utf-8')
yaml.dump(py_object, file)#yaml.dump()方法不会将列表或字典数据进行转化yaml标准模式,只会将数据生成到yaml文档中
file.close()
current_path = os.path.abspath(".")
yaml_path = os.path.join(current_path, "usr1.yaml")
generate_yaml_doc(yaml_path)
生成的yaml文档
4.from pathlib import Path(面向对象的文件系统路径)
转载:https://www.cnblogs.com/poloyy/p/12435628.html
pathlib和os.path的比较
(1)当需要找多个层级的目录路径时,通过 os.path 需要嵌套写法,而 pathlib 可以提供链式写法,简洁明了
(2)os.path 只用于处理路径,如果你想在获取到的路径下做一些事情(如:创建一个目录),你就需要用 os 模块,而 pathlib 可以一站式搞定
#pathlib的常用基本方法
Path.is_dir() # 判断是否是目录
Path.is_dir() # 是否是文件
Path.exists() # 判断路径是否存在
Path.open() # 打开文件(支持with)
Path.resolve() # 返回绝对路径
Path.cwd() # 返回当前目录
Path.iterdir() # 遍历目录的子目录或者Path.parents # 返回所有上级目录的列表
Path.parts # 分割路径 类似os.path.split(), 不过返回元组
Path.root # 返回路径的根目录
Path.mkdir() # 创建目录
Path.rename() # 重命名路径
Path.unlink() # 删除文件或目录(目录非空触发异常)
Path.joinpath() # 拼接路径