Заметки об изучении Python — использование библиотеки времени

приобретение времени

время()

Используется для получения текущей метки времени, то есть внутреннего значения времени компьютера, которое представляет собой число с плавающей запятой (количество секунд с 1 января 1970 года по настоящее время).

import time
print(time.time())

результат

1642520186.166802

ctime()

Используется для получения текущего времени и представления его в удобочитаемом виде, возвращая строку

import time
print(time.ctime())

результат

Tue Jan 18 23:36:26 2022

гмвремя()

Используется для получения текущего времени, выраженного в формате времени, обрабатываемом компьютером.

import time
print(time.gmtime())

результат

time.struct_time(tm_year=2022, tm_mon=1, tm_mday=18, tm_hour=15, tm_min=36, tm_sec=26, tm_wday=1, tm_yday=18, tm_isdst=0)

форматирование времени

форматер

строка формата Дата/время Описание
%Y годы
месяц
название месяца
%b сокращенное название месяца
%d дата
Неделя
аббревиатура недели
%ЧАС Час (24-часовая система)
%l Час (12-часовая система)
%п до полудня после полудня
минута
%S Второй

strftime(tpl,ts)

tpl — это строка шаблона формата, используемая для определения выходного эффекта.
ts — тип переменной времени внутри компьютера.

import time
t=time.gmtime()
#   %A     星期
#   %p     上下午
#strftime()将时间按照特定格式输出
print(time.strftime("%Y-%m-%d %A %H:%M:%S %p",t))

результат

2022-01-18 Tuesday 15:44:26 PM

strptime(ул,tpl)

str — значение времени в виде строки.
tpl — отформатированная строка шаблона, используемая для определения выходного эффекта.

import time
t=time.gmtime()
#striptime()将一个时间字符串转化为计算机时间struct_time()形式
timeStr='2022-01-17 23:24:30'
print(time.strptime(timeStr,"%Y-%m-%d %H:%M:%S"))

результат

time.struct_time(tm_year=2022, tm_mon=1, tm_mday=17, tm_hour=23, tm_min=24, tm_sec=30, tm_wday=0, tm_yday=17, tm_isdst=-1)

время программы

Время программы относится к процессу измерения прошедшего времени запуска и остановки действий.

perf_counter()

Возвращает точное значение счетчика времени на уровне процессора в секундах.
Поскольку начальная точка этого значения счетчика неопределенна, имеет смысл непрерывно вызывать разницу.

import time
start_time = time.perf_counter()
print(start_time)
end_time = time.perf_counter()
print(end_time)
print(end_time-start_time)

результат

0.7581596
0.7581973
3.7699999999918354e-05

сон(ы)

s Время ожидания в секундах может быть числом с плавающей запятой.

import time
time.sleep(3)
print("程序休眠了3秒")

Программа выведет через 3 секунды

程序休眠了3

Пример: Индикатор выполнения текста

Первый опыт текстового прогрессбара

import time
scale=20
print("{:-^20}".format("执行开始"))
for i in range(scale+1):
    a='='*i
    b='-'*(scale-i)
    c=i/scale*100
    print("{:3.0f}%[{}>{}]".format(c,a,b))
    time.sleep(0.2)
print("{:-^20}".format("执行结束"))

результат

--------执行开始--------
  0%[>--------------------]
  5%[=>-------------------]
 10%[==>------------------]
 15%[===>-----------------]
 20%[====>----------------]
 25%[=====>---------------]
 30%[======>--------------]
 35%[=======>-------------]
 40%[========>------------]
 45%[=========>-----------]
 50%[==========>----------]
 55%[===========>---------]
 60%[============>--------]
 65%[=============>-------]
 70%[==============>------]
 75%[===============>-----]
 80%[================>----]
 85%[=================>---]
 90%[==================>--]
 95%[===================>-]
100%[====================>]
--------执行结束--------

Индикатор выполнения текста, динамическое обновление одной строки

import time
print("{:-^20}".format("执行开始"))
scale=20
for i in range(scale+1):
    a='='*i
    b='-'*(scale-i)
    c=i/scale*100
    #\r使光标回到行首,end=""使输出不换行
    print("\r{:3.0f}%[{}>{}]".format(c,a,b),end="")
    time.sleep(0.2)
print("\n"+"{:-^20}".format("执行结束"))

результат
Пожалуйста, добавьте описание изображения

Полный эффект текстового индикатора выполнения

import time
scale=50
print("执行开始".center(scale//2,"-"))
start=time.perf_counter()
for i in range(scale+1):
    a='='*i
    b='-'*(scale-i)
    c=i/scale*100
    dur=time.perf_counter()-start
    print("\r{:3.0f}%[{}>{}]{:.2f}s".format(c,a,b,dur),end="")
    time.sleep(0.2)
print("\n"+"执行结束".center(scale//2,"-"))

результат
Пожалуйста, добавьте описание изображения

Вышеупомянутое содержание организовано с помощью учебного программного обеспечения преподавателя МООК Сунтяна, которое используется для личного ознакомления.

Supongo que te gusta

Origin blog.csdn.net/weixin_51627036/article/details/122571250
Recomendado
Clasificación