一、time 模块

time模块是Python标准库中最基础、最常用的模块之一。它提供了各种处理时间的方法和函数,如获取当前时间、格式化时间、计算时间差等。time模块大部分函数的底层实现是 C 语言库的时间处理函数。

1.1、获取时间相关函数

1.1.1、time.time()函数

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,由于是基于Unix Timestamp,所以其所能表述的日期范围被限定在 1970 ~ 2038 之间。

获取当前的时间戳(从Unix纪元开始的秒数),返回一个浮点型数值。

import time

# 获取当前的时间戳(以秒为单位)
print(time.time()) # 1724168591.386799
# 获取当前的纳秒级时间戳
print(time.time_ns()) # 1724168591386807429
# 将时间戳精确到毫秒然后四舍五入,说明:1秒=1000毫秒=1000000微秒=1000000000纳秒
print(round(time.time() * 1000)) # 1724168591387

1.1.2、time.ctime()函数

将时间戳转换为可读的字符串形式,如“Thu Aug 22 13:44:12 2024”。

import time
print(time.ctime()) # Thu Aug 22 13:44:12 2024

1.1.3、time.gmtime()函数

获取当前的时间,并将时间戳转换为UTC时区的时间,此方法返回的是一个时间元组。

struct_time时间元组,为结构化数据,共有九个元素。

import time
print(time.gmtime()) # time.struct_time(tm_year=2024, tm_mon=8, tm_mday=22, tm_hour=5, tm_min=46, tm_sec=5, tm_wday=3, tm_yday=235, tm_isdst=0)

1.1.4、time.localtime([sec])函数

获取当前的时间,并将时间戳转化成一个本地时区的struct_time,如果sec参数未输入,则以当前时间为转化标准。

import time

# 将时间戳传递给localtime函数得到时间元组
c_time = time.localtime(time.time())
print(c_time) # time.struct_time(tm_year=2024, tm_mon=8, tm_mday=21, tm_hour=11, tm_min=6, tm_sec=23, tm_wday=2, tm_yday=234, tm_isdst=0)
# 直接调用localtime()函数也是可以得到时间元组
l_time = time.localtime()
print(l_time) # time.struct_time(tm_year=2024, tm_mon=8, tm_mday=21, tm_hour=11, tm_min=6, tm_sec=23, tm_wday=2, tm_yday=234, tm_isdst=0)

1.2、格式化时间相关函数

1.2.1、time.asctime()函数

最简单的获取可读的时间模式的函数是asctime()。

import time

c_time = time.localtime(time.time())
print(time.asctime(c_time)) # Wed Aug 21 11:19:14 2024
l_time = time.localtime()
print(time.asctime(l_time)) # Wed Aug 21 11:19:14 2024

1.2.2、time.strftime()函数

strftime(format, time):将时间元组(struct_time对象)格式化为字符串,可以指定格式。

import time

formattime1 = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(formattime1) # 输出字符串格式的时间:2024-08-21 11:26:37
formattime2 = time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
print(formattime2) # 输出字符串格式的时间:Wed Aug 21 11:26:37 2024

1.2.3、time.strptime()函数

strptime(date_string, format):将字符串解析为时间元组,可以指定格式。

import time

t1 = time.strptime("2024-03-11 10:45:55", "%Y-%m-%d %H:%M:%S")
print(t1) # time.struct_time(tm_year=2024, tm_mon=3, tm_mday=11, tm_hour=10, tm_min=45, tm_sec=55, tm_wday=0, tm_yday=71, tm_isdst=-1)

1.2.4、time.mktime() 函数

time.mktime() :函数的参数是一个struct_time对象或完整的9位元组,表示本地时间,将该时间元组解析为一个时间戳。

import time

timestamp1 = time.mktime(time.localtime())
print(timestamp1) # 1724220894.0
timestamp2 = time.mktime(time.strptime("2023-03-11 09:35:11", "%Y-%m-%d %H:%M:%S"))
print(timestamp2) # 1678498511.0

二、datetime模块

datetime模块是Python中处理日期和时间的高级模块,datetime模块是在time模块的基础上开发的,是对time模块的补充和扩展,可以提供更精确和高效的时间处理功能,它提供了更加丰富和灵活的时间处理功能,支持更多的时间格式和时间操作,并且功能更加强大。datetime模块提供了日期(date)、时间(time)、日期时间(datetime)等类型的操作。它也是基于C语言的时间库实现的。

datetime模块定义了下面这几个类:

  • datetime.date:表示日期的类,有3个属性(year、month、day),可进行日期的加减运算。
  • datetime.time:表示时间的类,有4个属性(hour、minute、second、microsecond),可以进行时间的加减运算。
  • datetime.datetime:表示一个具体的日期时间,是date类和time类的结合体,具有date类和time类的所有属性和方法。
  • datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
  • datetime.tzinfo:与时区有关的相关信息。
  • datetime.datetime_CAPI:日期时间对象C语言接口。

2.1、datetime.date类介绍

由于Python也是面向对象编程语言,所以针对类,就会有构造函数,该类的构造函数如下:

class datetime.date(year, month, day): 

  • year: 表示年,范围[MINYEAR, MAXYEAR],即[1, 9999]
  • month: 表示月,范围[1, 12]
  • day:一月中第几天,最大值根据给定的year,month参数来决定。例如闰年2月份有29天

2.1.1、date对象所能表示的最大最小日期

# 返回的是datetime.date类型的对象
import datetime
print(datetime.date.max) # 9999-12-31
print(datetime.date.min) # 0001-01-01

2.1.2、date.today() 函数

# 返回一个当前本地日期的date类型的对象
import datetime
print(datetime.date.today()) # 2024-08-21

2.1.3、date.fromtimestamp()函数

# 根据给定的时间戳,返回一个date对象
import time
import datetime now = time.time()
s = datetime.date.fromtimestamp(now) # 2024-08-21

2.1.4、date.weekday()函数

# 参数必须是一个date类型的对象,返回该日期是一周中的第几天。返回值是一个整型。星期一,返回0;星期二,返回1...
import datetime
s = datetime.date.today() # 输出:2024-08-21
d = datetime.date.weekday(s) # 输出:2

2.1.5、date.isoweekday()函数

# 该函数需要一个datetime.date类型的参数。返回weekday中的星期几,星期一,返回1;星期二,返回2;以此类推。
import datetime
s = datetime.date.today() # 输出:2024-08-21
d = datetime.date.isoweekday(s) # 输出:3

2.1.6、date.isocalendar()函数

例如,2004 年的第一天是星期四,因此 ISO 2004 年的第一个星期开始于 2003 年 12 月 29 日星期一,结束于 2004 年 1 月 4 日星期日

# 该函数需要一个datetime.date类型的参数。返回date类型对象中的year(年),week(周),weekday(一周中的第几天),返回值是一个元组
import datetime
s = datetime.date(2003, 12, 29) # 2003-12-29
d = datetime.date.isocalendar(s) # datetime.IsoCalendarDate(year=2004, week=1, weekday=1), 代表2004年中的第1周,第1周中的第1天

2.1.7、date.strftime(fmt)函数

# 返回自定义格式的时间字符串。fmt是自定义的时间格式
import datetime
s = datetime.date.today() # 2024-08-21
d = s.strftime("%Y-%m-%d %H:%M:%S") # 2024-08-21 00:00:00

2.1.8、date.replace(year, month, day)

# 生成一个新的日期对象  用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)
import datetime
s = datetime.date.today() # 2024-08-21
d = s.replace(year=2017) # 2017-08-21

2.2、datetime.time类介绍

待续~

2.3、datetime.datetime类介绍

2.3.1、datetime.now()函数

# 返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间。
from datetime import datetime # 获取当前日期时间
print(datetime.now()) # 2024-08-21 15:41:42.388216
# 获取当前时间
print(datetime.now().time()) # 15:41:42.388216
# 获取当前日期
print(datetime.now().date()) # 2024-08-21
# 获取当前时间元组
print(datetime.now().timetuple()) # time.struct_time(tm_year=2024, tm_mon=8, tm_mday=21, tm_hour=15, tm_min=41, tm_sec=42, tm_wday=2, tm_yday=234, tm_isdst=-1)

2.3.2、datetime.strftime()函数

datetime.strftime(datetime, format):将datetime对象格式化为字符串,可以指定格式。

# 返回自定义格式的时间字符串。fmt是自定义的时间格式
from datetime import datetime now = datetime.now()
print(now) # 2024-08-21 22:49:27.570491
print(now.strftime("%Y-%m-%d %H:%M:%S")) # 2024-08-21 22:49:27
print(now.strftime("%Y-%m-%d")) # 2024-08-21
print(now.strftime("%H:%M:%S")) # 22:49:27 # 如果我们想将01/09中的0给去掉该如何实现呢?不同的操作系统实现方式不一样
print(now.strftime('%Y/%-m/%-d')) # Linux平台: 2024/8/21
print(now.strftime('%Y/%#m/%#d')) # Windows平台: 2024/8/21

2.3.3、datetime.strptime()函数

datetime.strptime(date_string, format):将字符串解析成datetime对象,可以指定格式。

from datetime import datetime

d = datetime.strptime("2018-10-08 09:00:00", "%Y-%m-%d %H:%M:%S")  # 2018-10-08 09:00:00
print(type(d)) # <class 'datetime.datetime'>

2.3.4、datetime.timestamp()函数

from datetime import datetime

# 创建一个datetime对象,假设为2023年3月1日中午12点
dt = datetime(2023, 3, 1, 12, 0)
# 将datetime对象转换为时间戳
timestamp = dt.timestamp() # 1677643200.0
# 获取当前时间的时间戳
print(datetime.now().timestamp()) # 1724343305.378539

2.3.5、datetime.fromtimestamp()函数

datetime.fromtimestamp(timestamp, tz=None):用于将Unix时间戳转换为datetime对象,其中timestamp是Unix时间戳,tz是时区信息(可选)

# 返回时间戳对应的本地日期时间
from datetime import datetime
print(datetime.fromtimestamp(1724230448.0)) # 2024-08-21 16:54:08

2.3.6、datetime.replace()函数

替换日期时间的某个部分,返回新的datetime对象。

# 替换部分日期时间
dt = datetime.datetime(2022, 10, 1, 12, 30, 45)
new_dt = dt.replace(year=2023)
print(new_dt)

2.4、datetime.timedelta类介绍

timedelta对象代表两个时间之间的时间差,我们进行时间上的增减的时候就可以用timedelta实现,timedelta类可以很容易地算出前几天或后几天的时刻,还可以查看第几周对应的时间,例如:timedelta(weeks=20) 20周将被自动转化为天数,前几天时刻,用减法,后几天时刻,则用当前时间加上timedelta(days=d, hours=h)。

2.4.1、两个date对象做差(相差多少天)

from datetime import date

d1 = date(2018, 10, 18)  # 构建日期对象
d2 = date(2017, 12, 31) # 构建日期对象
d3 = date.today() # 获取当天的日期
print((d1 - d2).days) # 291
print(d3 - d2) # 2425 days, 0:00:00
print(d3.__sub__(d2)) # 2425 days, 0:00:00

2.4.2、两个datetime对象做差(相差多少秒)

from datetime import datetime

time1 = datetime(2019, 1, 13, 12, 0, 0)  # 构建日期时间对象
time2 = datetime.now() # 获取当前日期时间对象
# 计算两个日期时间对象的时间差(以秒计算)
differtime = (time2 - time1).total_seconds() # 176881267.568535

2.4.3、计算未来和过去的时间

timedelta取值(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0)

使用 days=1代表后一天,days=-1代表前一天,其他参数也一样。

from datetime import datetime, timedelta

now = datetime.now()
print(now + timedelta(weeks=10)) # 十周之后
print(now + timedelta(days=10)) # 十天之后
print(now + timedelta(hours=10)) # 十小时之后
print(now + timedelta(minutes=10)) # 十分钟之后
print(now + timedelta(seconds=10)) # 十秒之后 print(now + timedelta(weeks=-10)) # 十周之前
print(now + timedelta(days=-10)) # 十天之前
print(now + timedelta(hours=-10)) # 十小时之前
print(now + timedelta(minutes=-10)) # 十分钟之前
print(now + timedelta(seconds=-10)) # 十秒之前

三、Calendar模块

calendar模块提供了一些与日历相关的函数和类。它包含可打印的日历类,可以格式化周和月的天数,并将日历信息转换为不同的格式。基本上,calendar模块提供了一种将日期转换为特定格式的工具。它是纯Python的实现。

四、dateutil模块

dateutil模块是由Gustavo Niemeyer在2003年编写而成的对日期时间操作的第三方模块,对Python内置的datetime模块进行扩展时区和解析。

dateutil库主要有两个模块:parser和rrule,其中parser可以将字符串解析成datetime,而rrule则是根据定义的规则来生成datetime

dateutil模块特点:

  • 能够计算日期时间相对增量,例如下周、下个月、明年、每月的最后一周等
  • 可以计算两个给定日期和/或日期时间对象之间的相对增量
  • 支持多种时区格式文件的解析,例如UTC时区、TZ时区等
  • 支持包括RFC字符串或其他任何字符串格式的通用日期时间解析

官方文档https://labix.org/python-dateutil

安装:pip install python-dateutil

4.1、dateutil库常用模块

dateutil库常用模块有三个:parser、rrule和relativedelta

  • dateutil.parser:将字符串解析成datetime
  • dateutil.rrule:将参数输出datetime.datetime格式的时间
  • dateutil.relativedelta:日期时间偏移量

4.1.1、dateutil.parser

from dateutil import parser

# 没指定时间默认0点,没指定日期默认当天,没指定年份默认当年, 当年份放在前面时,只能按年月日的顺序
print(parser.parse('2024-08-08')) # 2024-08-08 00:00:00
print(parser.parse('2024-07-08 10:45:52')) # 2024-12-24 10:55:55
print(parser.parse('20241224105555')) # 2024-12-24 10:45:52
print(parser.parse('2024.10.10')) # 2024-10-10 00:00:00
print(parser.parse('2007/09/15')) # 2007-09-15 00:00:00 # fuzzy:开启模糊匹配,过滤无法识别的时间日期字符
print(parser.parse('Today is 11-29 10:45, I feel good.', fuzzy=True)) # 2024-11-29 10:45:00 # 当只有月日时,parser会将分隔符前面的数字解析为月份,后面的为日, 当有年份时,在前面的月份超出范围时,会自动判断哪个是月哪个是日
# 11.29解析结果异常,11-29、11/29可正常解析
print(parser.parse('11-29')) # 2024-11-29 00:00:00
print(parser.parse('11/29/2023')) # 2023-11-29 00:00:00 # 当前面的月份超过12时,parser会自动识别月和日
print(parser.parse('13/11/2023')) # 2023-11-29 00:00:00 # 当分隔符为逗号时,只有月日时,要把月放在后面
# 当分隔符为逗号时,有年份时,年份要放在后面,要把月放在前面
print(parser.parse('29,11')) # 2024-08-29 00:00:00
print(parser.parse('11,29,2024')) # 2024-11-29 00:00:00 # 识别英文的月、日
print(parser.parse('November 29')) # 2024-11-29 00:00:00
print(parser.parse('November 1st')) # 2024-11-01 00:00:00
print(parser.parse('November 29 2023')) # 2023-11-29 00:00:00
print(parser.parse('2023 November29')) # 2023-11-29 00:00:00
print(parser.parse('11:45 AM')) # 2024-11-29 11:45:00

4.1.2、dateutil.rrule()

rrule.rrule(freq, dtstart, interval, wkst, count, until, by)

  • freq:单位,可选的值为YEARLY、MONTHLY、WEEKLY、DAILY、HOURLY、MINUTELY、SECONDLY,即年月日周时分秒
  • dtstart、until:开始和结束时间,时间格式datetime.datatime类型
  • interval:间隔
  • wkst:周开始时间
  • count:生产时间的个数
  • by:指定匹配的周期,例如,byweekday=(MO,TU):只有周一周二的匹配,取值如下:
              - bysetpos:必须为整数或者整数序列,设置匹配的周期频率
              - bymonth:设置匹配的月份
              - bymonthday:设置匹配每月的日期
              - byyearday:设置匹配每年的天数
              - byweekno:设置匹配第几周
              - byweekday:MO,TU,WE,TH,FR,SA,SU
              - byhour:设置匹配小时
              - byminute:设置匹配分钟
              - bysecond:设置匹配秒数
from dateutil import parser, rrule

# 生成一个连续的日期列表
print(list(rrule.rrule(rrule.DAILY, dtstart=parser.parse('2024-01-01'), until=parser.parse('2024-01-03'))))
# 输出:[datetime.datetime(2024, 1, 1, 0, 0), datetime.datetime(2024, 1, 2, 0, 0), datetime.datetime(2024, 1, 3, 0, 0)] # 生成一个间隔一天的连续的日期列表
print(list(rrule.rrule(rrule.DAILY, interval=2, dtstart=parser.parse('2024-01-01'), until=parser.parse('2024-01-05'))))
# 输出:[datetime.datetime(2024, 1, 1, 0, 0), datetime.datetime(2024, 1, 3, 0, 0), datetime.datetime(2024, 1, 5, 0, 0)] # 只保留前3个元素
print(list(rrule.rrule(rrule.DAILY, count=3, dtstart=parser.parse('2024-01-01'), until=parser.parse('2024-01-10'))))
# 输出:[datetime.datetime(2024, 1, 1, 0, 0), datetime.datetime(2024, 1, 2, 0, 0), datetime.datetime(2024, 1, 3, 0, 0)] # 只取周六和周日日期时间
print(list(rrule.rrule(rrule.DAILY, byweekday=(rrule.SA, rrule.SU), dtstart=parser.parse('2024-01-01'), until=parser.parse('2024-01-10'))))
# 输出:[datetime.datetime(2024, 1, 6, 0, 0), datetime.datetime(2024, 1, 7, 0, 0)] # 以月为间隔,生成3个月
print(list(rrule.rrule(rrule.MONTHLY, count=3, dtstart=parser.parse('2024-01-01'))))
# 输出:[datetime.datetime(2024, 1, 1, 0, 0), datetime.datetime(2024, 2, 1, 0, 0), datetime.datetime(2024, 3, 1, 0, 0)] # rrule可计算出两个datetime对象间相差的年月日等时间数量
print(rrule.rrule(rrule.DAILY, dtstart=parser.parse('20240101'), until=parser.parse('20240201')).count()) # 32
# 不足N个月的,按N个月计算;不满整月的,按N-1个月计算
print(rrule.rrule(rrule.MONTHLY, dtstart=parser.parse('20240101'), until=parser.parse('20240201')).count()) # 2

4.1.3、dateutil.relativedelta()

from dateutil import parser, rrule, relativedelta

# datetime.timedelta与relativedelta.relativedelta()
from datetime import datetime, timedelta # timedelta仅支持:weeks、days、hours、minutes、seconds,不支持月、年
# datetime.timedelta()计算上周
print(datetime.strftime(datetime.now() - timedelta(weeks=1), '%Y-%m-%d')) # 2024-08-20
# relativedelta.relativedelta()计算上周
print(datetime.strftime(datetime.now() - relativedelta.relativedelta(weeks=1), "%Y-%m-%d")) # 2024-08-20 # 计算上月初、计算上N月初
print(datetime.strftime(datetime.now() - relativedelta.relativedelta(months=1), "%Y-%m-01")) # 2024-07-01
# 计算上月末、计算上N月末
print(datetime.strftime(datetime.strptime(datetime.now().strftime('%Y-%m-01'), '%Y-%m-%d') - relativedelta.relativedelta(days=1), '%Y-%m-%d')) # 2024-07-31

附件

附件1:中英文单词对照表

中英文单词对照表

中文 英文(简称) 中文 英文(简称) 中文 英文
一月 January(Jan) 星期一 ‌Monday(Mon) 毫秒 milliseconds
二月 February(Feb) 星期二 ‌Tuesday(Tue) 微秒 microseconds
三月 March(Mar) 星期三 ‌Wednesday‌(Wed) 时间元组的九个属性
四月 April(Apr) 星期四 ‌Thursday(Thu) tm_year(年) 0000~9999
五月 May(May) 星期五 ‌Friday(Fri) tm_mon(月) 1~12
六月 June(Jun) 星期六 Saturday(Sat) tm_mday(日) 1~31
七月 July(Jul) 星期天 ‌Sunday(Sun) tm_hour(时) 0~23
八月 August(Aug) weeks tm_min(分) 0~59
九月 September(Sep) days tm_sec(秒) 0~61(61是闰秒)
十月 October(Oct) hours tm_wday(一周中的第几日) 0~6(0是周一)
十一月 November(Nov) minutes tm_yday(一年中的第几天) 1~366
十二月 December(Dec) seconds tm_isdst(是否是夏令时) 1为是,0为不是 ,-1为未知,默认为-1

附件2:格式化时间参考表

格式化时间参考表

%a Mon 星期几的简写 %p PM 本地的AM或PM的等价显示
%A Monday 星期几的全称 %r 5:21:43 PM 12小时的时间
%b Sep 月份的简写 %R 17:21 显示小时和分钟:hh:mm
%B September 月份的全称 %S 43 十进制的秒数 (01 - 61)不是59,闰年秒占两秒
%c Mon Sep 21 17:21:42 2020 标准的日期的时间串 %T 17:21:43 显示时分秒:hh:mm:ss
%C 20 年份的后两位数字 %u 1 每周的第几天,星期一为第一天 (值从0到6,星期一为0)
%d 21 十进制表示的每月的第几天 %U 38 每年的第几周,把星期日做为第一天(值从0到53)
%D 09/21/20 月/天/年 %V 39 每年的第几周,使用基于周的年
%e 21 在两字符域中,十进制表示的每月的第几天 %w 1 十进制表示的星期几(值从0到6,星期天为0)
%F 2020-09-21 年-月-日 %W 38 每年的第几周,把星期一做为第一天(值从0到53)
%g 20 年份的后两位数字 %x 09/21/20 标准的日期串
%G 2020 使用基于周的年 %X 17:21:43 标准的时间串
%h Sep 简写的月份名 %y 20 不带世纪的十进制年份(值从0到99)
%H 17 24小时制的小时 %Y 2020 带世纪部分的十制年份
%I 5 第几个小时(12小时制,01 - 12) %z +0800 时区
%j 265 十进制表示的每年的第几天 %Z 中国标准时间 时区名称,如果不能得到时区名称则返回空字符
%m 9 十进制表示的月份 %% % 百分号
%M 21 十进制表示的分钟数      

标准库之 datetime和time 模块的更多相关文章

  1. nodejs选择JavaScript作为开发语言,是因为一般的开发语言的标准库都是带有IO模块的,并且通常这个 模块是阻塞性的,所以nodejs选择了没有自带IO模块的Javascript

    Javascrip本身不带IO功能,nodejs选择JavaScript作为开发语言,是因为一般的开发语言的标准库都是带有IO模块的,并且通常这个 模块是阻塞性的,所以nodejs选择了没有自带IO模 ...

  2. Python标准库:datetime 时间和日期模块 —— 时间的获取和操作详解

    datetime 时间和日期模块 datetime 模块提供了以简单和复杂的方式操作日期和时间的类.虽然支持日期和时间算法,但实现的重点是有效的成员提取以进行输出格式化和操作.该模块还支持可感知时区的 ...

  3. Python3标准库(二) re模块

    正则表达式(Regular Expression)是字符串处理的常用工具,通常被用来检索.替换那些符合某个模式(Pattern)的文本.很多程序设计语言都支持正则表达式,像Perl.Java.C/C+ ...

  4. Python常用标准库之datetime、random、hashlib、itertools

    库:具有相关功能模块的集合 import sys.builtin_module_names #返回内建模块的名字modules 查看所有可用模块的名字 1.1.1获取当前日期和时间 from date ...

  5. python标准库:datetime模块

    原文地址:http://www.bugingcode.com/blog/python_datetime.html datatime 模块题共用一些处理日期,时间和时间间隔的函数.这个模块使用面向对象的 ...

  6. python标准库:collections和heapq模块

    http://blog.csdn.net/pipisorry/article/details/46947833 python额外的数据类型.collections模块和heapq模块的主要内容. 集合 ...

  7. python标准库之operator(运算符模块)

    operator模块提供了一系列与Python自带操作一样有效的函数.例如:operator.add(x, y)和表达式x+y是等效的.那些特殊类的方法都有自己的函数名:为了方便起见,一些函数名是没有 ...

  8. python标准库介绍——2 os.path模块详解

    == os.path 模块 == ``os.path`` 模块包含了各种处理长文件名(路径名)的函数. 先导入 (import) ``os`` 模块, 然后就可以以 ``os.path`` 访问该模块 ...

  9. Python标准库(1) — itertools模块

    简介 官方描述:Functional tools for creating and using iterators.即用于创建高效迭代器的函数. itertools.chain(*iterable) ...

  10. python学习23之标准库

    '''''''''标准库1.datetime 日期时间模块存在于Lib/datetime.py文件内'''from datetime import datetime,date,time #from d ...

随机推荐

  1. windows server dhcp与AD域

    创建两台windows server 2016 同一个网络适配器 windows1 配置window1手动网络 安装域 设置密码下一步下一步 重启 完成域安装后创建用户 配置windows1 dhcp ...

  2. canvas实现截图功能

    开篇 最近在做一个图片截图的功能. 因为工作时间很紧张, 当时是使用的是一个截图插件. 周末两天无所事事,来写一个简单版本的截图功能. 因为写的比较简单,如果写的不好,求大佬轻一点喷 读取图片并获取图 ...

  3. ROS(机器人操作系统)的基本了解

    参考: https://blog.csdn.net/qq_51963216/article/details/125754175 https://zhuanlan.zhihu.com/p/5956062 ...

  4. 向日葵的平替:一款个人开发的远程工具——fastnat

    相关资料: https://www.cnblogs.com/thinkingmore/p/14317505.html https://www.cnblogs.com/thinkingmore/p/15 ...

  5. configure: error: Can't find vorbis/vorbisfile.h

    Ubuntu环境: sudo apt-get install libvorbis-dev ==================================

  6. Apache DolphinScheduler中ZooKeeperCDH不兼容问题的解决方案

    背景 看到Apache DolphinScheduler社区群有很多用户反馈和讨论这块问题,针对不兼容的问题,不仅需要自己重新编译各一个新包,而且因为默认是使用zk-3.8的配置,所以会出现不兼容问题 ...

  7. GOT & PLT 易于理解的个人笔记

    为什么我们用动态链接和GOT表 我们知道静态链接就没那么多事,直接把全部要用的函数都绑定在一起,各个变量和函数之间的偏移量当然能算出来. 但是这也恰恰是静态链接的缺点,相同的代码段反复调用真是太臃肿了 ...

  8. Pintia 天梯地图 dijkstra进阶

    7-14 天梯地图 - SMU 2024 spring 天梯赛3(补题) (pintia.cn) dijkstra进阶做法,包含路径记录,以及按权重统计路径条件等; 不过最开始我一直将优先队列开的最大 ...

  9. 基于MonoGame重制《俄罗斯方块》游戏

    两年前,我使用C#基于MonoGame编写了一款<俄罗斯方块>游戏,相关介绍可以参考[这篇文章].最近,使用业余时间将之前的基于MonoGame的游戏开发框架重构了一下,于是,也就趁此机会 ...

  10. 微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)

    这个接口只能获得一些非敏感信息,例如用户昵称,用户头像,经过用户授权允许获取的情况下即可获得用户信息,至于openid这些,需要调取wx.login来获取. index.wxml <!-- 当已 ...