除异常外,在内部记录消息

iqxoj9l9  于 2022-10-02  发布在  Python
关注(0)|答案(1)|浏览(252)

尝试失败时,我正在尝试使用日志记录。我有一个for循环,用于将日期字符串转换为日期时间格式。

例如,将“03/05/2021”转换为2021-05-03。然而,也有像03/052021这样的打字日期。如果循环遇到这样的输入日期,我希望它创建一个日志。

for id in range(1,items):
    try:
        dt_bd_lists.append(datetime.strptime(bd_lists[i+1], '%d/%m/%Y'))
        #print(dt_bd_lists[id])
    except:
        dt_bd_lists.append(bd_lists[id+1])
        #LOG_FILENAME = 'error_log'
        #logging.basicConfig(
        #filename=LOG_FILENAME,
        #level=logging.ERROR
        #)
        #logging.error('Error processing line %(lineno)d for ID %d', id)

对于记录消息,我想创建“Error Processing(Line Numbers)for(ID)”。

不幸的是,我遇到了记录错误并被卡住了。怎样才能解决这个问题呢?

i86rm4rw

i86rm4rw1#

这将不会帮助您进行日志记录,我需要日志记录产生的错误,但也许您可以“清理”您的数据。

通过将所有斜杠/替换为空字符串"",您可以忽略这些拼写错误。然后,您需要将日期的格式调整为"%d%m%Y",您就可以开始了(只需去掉斜杠)。

from datetime import datetime

    date_strings = ["03/05/2021", "03/052021"]

    for date_string in date_strings:
        # replace / with empty string
        date_string = date_string.replace("/", "")  

        date_time_obj = datetime.strptime(date_string, '%d%m%Y')
        print(date_time_obj)

相关问题