Предположим, у меня есть большой набор строк, которые я хочу проанализировать для набора объектов datetime. Я мог бы использовать dateutils.parser
и выполнять итерацию по набору, но он более требователен к компьютеру и занимает больше времени, чем синтаксический анализ, извлекая примененный формат strptime, и просто делаю datetime.strptime(string, model)
.
Я хотел создать функция, похожая на следующую:
def retrieve_format(datetime_object, string):
#do some things
return model
со строкой model
.
Я не нашел ничего, что объясняло бы внутреннюю работу синтаксического анализатора dateutils, и я считаю, что у разработчиков есть возможность добавить такую функцию.
Есть идеи, как это сделать? Это сэкономит время и вычислительные мощности.
Пример
Предположим, у меня есть набор строк, которые отформатированы так же, как этот:
myStr = '27/03/2020 - 16:20'
Я мог бы сделать
myDate = dateutils.parser.parse(myStr)
и получить myDate как
datetime.datetime(2020, 3, 27, 16, 20)
, но теперь я мог использовать свою функцию как таковую
>>> model = retrieve_format(myDate, myStr)
>>> print(model)
%d/%m/%Y - %H:%M
Тогда я мог бы сделать
datetime_set = {}
for formatted_string in set:
raw = datetime.datetime.strptime(formatted_string, model)
datetime_set.add(raw)
, чтобы очень эффективно обработать все остальные элементы.