[issue21570] String being confused with datetime.datetime object.
Marc-Andre Lemburg
report at bugs.python.org
Sat May 24 16:05:33 CEST 2014
Marc-Andre Lemburg added the comment:
On 24.05.2014 15:55, Brandon wrote:
>
> Observe the following code:
>
> import MySQLdb, MySQLdb.cursors, datetime
> """ ... mysqlCursor is a cursor object from a connection to database from the MySQLdb module ... """
> mysqlCursor.execute("SELECT NOW()")
> timeRow = mysqlCursor.fetchall()
> currentDateTime = datetime.datetime.strptime(timeRow[0]["NOW()"], "%Y-%m-%d %H:%M:%S")
>
> I get the following error:
>
> TypeError: must be string, not datetime.datetime
>
> HOWEVER, when I cast timeRow[0]["NOW()"] to a string like: str(timeRow[0]["NOW()"]) , it works fine.
>
> For whatever reason the Python interpreter seems to interpret the string from the row of the MySQLdb cursor result as a datetime.datetime object. I have no explanation for this, besides it looking like a date time in the format of YYYY-mm-dd HH:MM:SS.
It's likely that MySQLdb returns the datetime value as Python
datetime.datetime object, so not really surprising that you get
a TypeError.
----------
nosy: +lemburg
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue21570>
_______________________________________
More information about the Python-bugs-list
mailing list