常用小记

时间日期相关

# 格式化时间戳 
time.strftime("%Y-%m-%d", time.localtime( time.time() ))
%y 两位数的年份表示(00-99
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%p 本地A.M.或P.M.的等价符
%M 分钟数(00=59)
%S 秒(00-59)
%w 星期(0-6),星期天为星期的开始
%j 年内的一天(001-366)
%U 一年中的星期数(00-53)星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示(10/13/21)
%X 本地相应的时间表示(14:00:46)

# 用时间戳获取日期相关数据(localtime)
time.localtime(time.time()).tm_year ==>	2021	# 年
time.localtime(time.time()).tm_mon	==>	10		# 月
time.localtime(time.time()).tm_mday	==>	13		# 当月几号
time.localtime(time.time()).tm_hour	==>	13		# 小时
time.localtime(time.time()).tm_min	==>	28		# 分钟
time.localtime(time.time()).tm_sec	==>	40		# 秒
time.localtime(time.time()).tm_wday	==>	2		# 星期(0~6 0是周一)
time.localtime(time.time()).tm_yday	==>	286		# 今年第几天

# 获取年份时间戳
datetime.datetime.strptime("2021", "%Y").timestamp()
# 获取月份时间戳
datetime.datetime.strptime("2021-1", "%Y-%m").timestamp()

# 获取月份相关信息
from calendar import monthrange
monthrange(2021, 10)	# monthrange(年, 月)
==>	(4, 31)
## 第一个值为月份开始的星期(0~6 0是周一)
## 第二个值为月份最后一天的日(相当于月总天数)

# 用时间戳获取年、月开始时间
datetime.datetime.strptime(time.strftime("%Y-%m", time.localtime(time.time())), "%Y-%m").timestamp()  ==>  1609430400
datetime.datetime.strptime(time.strftime("%Y-%m", time.localtime(time.time())), "%Y-%m").timestamp()  ==>  1633017600

运行系统命令

# 运行系统命令
import os
os.system('ping www.baidu.com')

# 无打印运行运行系统命令
import subprocess
subprocess.getstatusoutput('ping www.baidu.com')
==>
(返回状态, 返回结果)

集合可以相减

print({1, 2, 3, 4, 5} - {1, 3, 9})
==>  {2, 4, 5}

列表有序去重

from functools import reduce
reduce(lambda x, y: x if y in x else x + [y], [[], ] + list())

生成随机码

def random_code(num=4, has_lower=True, has_upper=True, has_number=True):
    """num=位数,has_lower=包含小写字母,has_upper=包含大写字母,has_number=包含数字"""

    def value():
        choice_values = []
        if has_number: choice_values.append(random.randint(0, 9))
        if has_upper: choice_values.append(chr(random.randint(65, 90)))
        if has_lower: choice_values.append(chr(random.randint(97, 122)))
        return random.choice(choice_values)

    return ''.join(str(value()) for i in range(num))

列表嵌套解压

flat_list = [item for sublist in nested_list for item in sublist]
posted @ 2021-10-13 15:24  最冷不过冬夜  阅读(50)  评论(0编辑  收藏  举报