[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