为什么我会收到此错误?直到今天,这个日期函数在我的整个脚本中都运行良好

Why am I receiving this error? This date function has worked fine in my overall script until today

我在我的 python 脚本中使用这个日期函数,它已经工作了几个月。现在,从今天早上开始,它就没有用了。这是我尝试 运行 函数时收到的错误图像。我收到

error in script when running date function by itself.

我用来格式化日期的日期函数:

def format_date(date):
    return str(int(date[4:6]) + '/' + str(int(date[6::])) + '/' + date[0:4])

我尝试 运行 函数后收到的错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-19-7b46987210f9> in <module>
----> 1 format_date(20220425)

<ipython-input-18-c708fe24a649> in format_date(date)
      1 def format_date(date):
----> 2     return str(int(date[4:6]) + '/' + str(int(date[6::])) + '/' + date[0:4])

TypeError: 'int' object is not subscriptable

这是我在尝试 运行 整个脚本而不隔离函数时收到的错误。

    return str(int(date[4:6])) + '/' + str(int(date[6::])) + '/' + date[0:4]
ValueError: invalid literal for int() with base 10: ''

您所做的是对整数类型进行切片 formate_date(int)
这就是您收到错误的原因。

相反,您应该首先将给定参数转换为字符串类型。
这也使您的整体代码看起来更加清晰。

def format_date(date):
    date = str(date)
    return date[4:6] + '/' + date[6::] + '/' + date[0:4]

#input formate_date(20220425)
#output 04/25/2022