请教:print rec[0]和print rec输出的第一字段不一样~

请教:print rec[0]和print rec输出的第一字段不一样~

python查询mysql数据库,print rec[0]和print rec输出的第一字段不一样,刚开始学编程,向大家请教!

代码如下:

  1 #!/usr/bin/python
  2 #filename: mysql.py
  3
  4 import os, sys, string
  5 import MySQLdb
  6 print "\n"
  7 try:
  8   conn = MySQLdb.connect(host='25.30.1.240',user='harry',passwd='harry',db='tianwang')
  9 except Exception, e:
10   print e
11
12 cursor = conn.cursor()
13 sql = "select * from log_105 where day ='20080620'"
14 cursor.execute(sql)
15 alldata = cursor.fetchall()
16 for rec in alldata:
17 # print rec[0],' ',rec[1],' ',rec[2]
18   print rec
19
20 cursor.close()
21 conn.close()



下面是print rec的结果:
(datetime.date(2008, 6, 20), datetime.timedelta(0, 36601), '99.84', '0.61', '52G', '4054', '136', '3', '8001', '0', '0', '0', '2', 0L)

下面是print rec[0]的结果:
2008-06-20   0:10:01   99.84

调不调用__str__的问题
datetime.date(2008, 6, 20), datetime.timedelta(0, 36601)
2008-06-20   10:10:01
怎么不一样了?
我要输出:
2008-06-20     0:10:01     99.84  0.60   52G   4054       135 的格式,而不是
datetime.date(2008, 6, 20), datetime.timedelta(0, 36601)
请高手指点~

现在是
print rec[0],'   ',rec[1],'   ',rec[2:-1]
实现的,感觉不 怎么爽、、、
一个tuple或list不是象字符串一样可以直接显示的,但是python允许你直接显示,但是以内部格式,其实就相当于:

print repr(a)

所以想得到直确的字符串还是自已转换的好。