1、数组切换为年份
dt_date = datetime.datetime.strptime(ymd, “%Y%m%d“)
2、年份切换为数组
date = dt_date.strftime(“%Y-%m-%d“)
3、昨晚
(datetime.datetime.strptime(date, “%Y%m%d“) – datetime.timedelta(1)).strftime(“%Y%m%d“)
4、argparse
命令行选项、参数和子命令解析器
5、sys模块
提供了一系列有关Python运行环境的变量和函数
list)。sys.path:返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值6、overwrite
dataframe写入的一种模式,dataframe写入的模式一共有4种
def mode(saveMode: String): DataFrameWriter = {
this.mode = saveMode.toLowerCase match {
case “overwrite” => SaveMode.Overwrite // 覆盖已经存在的文件
case “append” => SaveMode.Append // 向存在的文件追加
case “ignore” => SaveMode.Ignore // 如果文件已存在,则忽略保存操作
case “error” | “default” => SaveMode.ErrorIfExists // 如果文件存在,则报错
case _ => throw new IllegalArgumentException(s“Unknown save mode: $saveMode. “ +
“Accepted modes are overwrite, append, ignore, error.”)
}
this
}
7、eval
用来执行一个数组表达式,并返回表达式的值
eval(expression[, globals[, locals]])
参数
expression – 表达式。globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。还可以进行数组与list、tuple、dict的转化
8、json.dumps()和json.loads()
json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是数组)
json.dumps():Python 字典类型切换为 JSON 对象json.loads():将 JSON 对象切换为 Python 字典9、os.system(cmd)
使用os.system(cmd)即可在python中使用linux命令
10、if __name__ == ‘__main__’:的作用
一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if __name__ == ‘main’: 的作用就是控制这两种情况执行代码的过程,在 if __name__ == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的。
11、zfill
返回指定长度的数组,原数组右对齐,前面填充0
12、如果不够两位,前位补0
# 如果不够两位,前位补0
conf = “qzk”
date = “20220606”
h = 6
h1 = 16
s1 = f“{conf}/{date}/{h:0>2d}“
s2 = f“{conf}/{date}/{h1:0>2d}“
print(s1)
print(s2)
# 输出
qzk/20220606/06
qzk/20220606/16
13、Python 直接表达式、浅复本和广度复本解析
直接表达式:其实就是对象的引用(别名)。浅复本(copy):复本父对象,不会复本对象的内部的子对象。深复本(deepcopy): copy 模块的 deepcopy 方法,完全复本了父对象及其子对象。字典浅/深复本实例
>>> a = {1: [1,2,3]}
>>> b = a.copy()
>>> a, b
({1: [1, 2, 3]}, {1: [1, 2, 3]})
>>> a[1].append(4)
>>> a, b
({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})
>>> import copy
>>> c = copy.deepcopy(a)
>>> a, c
({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})
>>> a[1].append(5)
>>> a, c
({1: [1, 2, 3, 4, 5]}, {1: [1, 2, 3, 4]})
解析
1、b = a: 表达式引用,a 和 b 都指向同一个对象。
2、b = a.copy(): 浅复本, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。
3、b = copy.deepcopy(a): 广度复本, a 和 b 完全复本了父对象及其子对象,两者是完全独立的。