Вот пример того, как проанализировать и создать объект datetime
с результатом:
import datetime
pth = "s3://test-bucket/test/AUS/int1/DATA/table1/effective_at_year=2019/effective_at_month=12/ndh_effective_at_day=12/ndh_effective_at_hour=03/ndh_effective_at_minute=42/"
# collect datetime components
# - assumes components are in the appropriate order
datetime_components = []
for field in pth.split('/'):
if "=" in field:
key, value = field.split("=")
datetime_components.append((key, value))
result_datetime = datetime.datetime(*[int(v) for _, v in datetime_components])
*
здесь оператор распаковывает список, предоставляя результаты как позиционные аргументы конструктору datetime.datetime()
:
result_datetime = datetime.datetime(*[int(v) for _, v in datetime_components])
# is equivalent to
desired_components = [int(v) for _, v in datetime_components]
result_datetime = datetime.datetime(desired_components[0], desired_components[1], desired_components[2], desired_components[3], desired_components[4])
Как только вы поместите его в объект datetime
, вы можете легко манипулировать им по своему усмотрению.
# 2019-12-12 3:42
result_datetime.strftime("%Y-%m-%d %H:%M")
'2019-12-12 03:42 '