A-A+

AttributeError: ‘str’ object has no attribute ‘strftime’ 解决方法

2019年08月22日 16:08 汪洋大海 暂无评论 共940字 (阅读11,655 views次)

所以我有一个使用以下进口的脚本:时遇到一个日期字符串转换为unix时间戳

import sys 
import os.path 
import requests 
import json 
import csv 
import glob2 
import shutil 
from time import sleep 
from time import gmtime, strftime 
import time 
from datetime import datetime 

我想转换row[15]这是一个日期字符串,看起来像"23/03/2015 00:00"(读取一个csv)到unix时间。

这是什么代码部分看起来像:

{"name":"referral_date", "value": time.mktime(datetime.strptime(row[15], "%d/%m/%Y %H:%S").timetuple()) } 

每次我尝试它,它回来了这一点:

AttributeError: 'str' object has no attribute 'mktime' 

然而,在一个单独的测试文件,我已经试过如下:

import time 
from datetime import datetime 

mylist = ["23/03/2015 00:00"] 
test = time.mktime(datetime.strptime(mylist[0], "%d/%m/%Y %H:%S").timetuple()) 
print(test) 

哪像你所期望的,结果1427031000.0 - 我在做什么错?

---------答案---------

查看您的代码:某处您可能已经声明了一个名为time的变量,它是一个字符串。它试图在该变量上调用mktime,这就是为什么你的错误引用了str对象。

解决此问题的最简单方法是将time变量的名称更改为其他名称。如果你想解决这个问题,而不改变该变量的名字,你可以用不同的名字像这样导入time

import time as timelibrary 

然后调用timelibrary.mktime

博主本人记录,我就是因为自己重写了time函数,然后我忘了,导致的这个问题出现。。。。

文中来源:http://cn.voidcc.com/question/p-beremqde-bhy.html

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言