在Python中将字符串从命令行转换为日期对象时出错

2024-04-20 07:29:06 发布

您现在位置:Python中文网/ 问答频道 /正文

运行以下代码时,没有发现任何问题:

as_of_date = '10-16-17'
today = datetime.datetime.strptime(as_of_date, '%m-%d-%y').date()
type(today)
print(today)

Out:  datetime.date
Out:  2017-10-16

但是,当我运行一个名为GetStats.py的脚本,该脚本从命令行获取多个参数时,我得到了一个错误。你知道吗

命令行由5个参数组成,如下所示:

python   GetStats.py   Client_A.cfg   30   -d   10-16-17

命令行上的最后一个参数(“10-16-17”)表示日期。你知道吗

中的代码获取统计数据.py脚本如下:

import sys
from datetime import datetime, timedelta, time, date

as_of_date = sys.argv[4]
today = datetime.datetime.strptime(as_of_date, '%m-%d-%y').date()

print (today)

代码没有命中print语句,而是显示以下错误:

type 'exceptions.AttributeError'

当我试图从命令行传递那个日期时,有人看到错误了吗?你知道吗

谢谢!你知道吗


Tags: of代码命令行py脚本参数todaydatetime
1条回答
网友
1楼 · 发布于 2024-04-20 07:29:06

问题在于您的导入:

from datetime import datetime然后尝试调用datatime.datetime.strptime

通过这样做,您试图调用不存在的函数datetime.datetime.datetime.strptime。你知道吗

因此,要在代码中将此更改datetime.datetime修复为datetime。你知道吗

相关问题 更多 >