我正在使用此代码从文件中的行中获取时间。
for line in f:
try:
dt = parser.parse(line).replace(tzinfo=None)
print dt
except Exception, e:
print line
print(traceback.format_exc())
continue
Traceback (most recent call last):
File "./script.py", line 90, in read
dt = parser.parse(line).replace(tzinfo=None)
AttributeError: 'ArgumentParser' object has no attribute 'parse'
答案 0 :(得分:1)
你能做的最好的事情就是学会用简单的印刷语句调试你的问题
for line in f:
try:
dt = parser.parse(line).replace(tzinfo=None)\
print "SUCCESS:",dt
except Exception as e:
traceback.print_exc()
print "UNABLE TO PARSE: %r"%line
continue
现在你应该能够快速找出问题所在......显然这条线看起来不像你的例子
答案 1 :(得分:0)
检查您在代码中指定parser
名称的位置。
比较
>>> from argparse import ArgumentParser
>>> parser = ArgumentParser()
>>> s = 'Fri May 15 11:22:54 EDT 2015'
>>> parser.parse(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'ArgumentParser' object has no attribute 'parse'
使用:
>>> from dateutil import parser
>>> parser.parse(s)
datetime.datetime(2015, 5, 15, 11, 22, 54)