在Python3.4中将字符串日期转换为时间戳
问题描述
我正在尝试将字符串日期转换为Python中的时间戳,如文章here所述。当我运行POST中的代码示例时,我遇到一个错误。例如:
>>> import time
>>> import datetime
>>> s = "01/12/2011"
>>> time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())
File "C:Python34lib\_strptime.py", line 15, in <module>
import calendar
File "C:Python34calendar.py", line 9, in <module>
calendar = wckCalendar.Calendar(root, command=echo)
NameError: name 'wckCalendar' is not defined
>>>
看起来像是在运行时,代码隐式尝试import calendar
并在流程中抛出错误。当我直接导入日历时,我收到相同的错误:
>>> import calendar
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
import calendar
File "C:Python34calendar.py", line 9, in <module>
calendar = wckCalendar.Calendar(root, command=echo)
NameError: name 'wckCalendar' is not defined
>>>
我只希望能够执行以下操作:
>>> import time
>>> import datetime
>>> s = "01/12/2011"
>>> time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())
有什么想法吗?
Windows 7 32位上的Python 3.4.1*
解决方案
感谢@J.F.塞巴斯蒂安。我被name shadowing trap
困住了。我犯了一个愚蠢的错误,将我的一个模块命名为calendar.py
。一旦我删除了这个文件,一切都运行得很好。我希望这篇文章不是浪费,希望有一天有人会发现它很有用。
相关文章