连接mysql的代码:
# -*- coding: utf-8 -*-
import sys
import MySQLdb
reload(sys)
sys.setdefaultencoding('utf-8')
def getdata ():
if __name__ == '__main__':
代码很明了,没什么好说明的。其中:
reload(sys)
sys.setdefaultencoding('utf-8')
以及数据库连接时的charset设置,是用来解决中文问题的。当然mysql也是utf8编码的。
sql="insert into cdinfo values(0,%s,%s,%s,%s,%s)"
#每个值的集合为一个tuple,整个参数集组成一个tuple,或者list
param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))
#使用executemany方法来批量的插入数据.这真是一个很酷的方法!
n=cursor.executemany(sql,param)
需要注意的是(或者说是我感到奇怪的是),在执行完插入或删除或修改操作后,需要调用一下conn.commit()方法进行提交.这样,数据才会真正保存在数据库中.我不清楚是否是我的mysql设置问题,总之,今天我在一开始使用的时候,如果不用commit,那数据就不会保留在数据库中,但是,数据确实在数据库呆过.因为自动编号进行了累积,而且返回的受影响的行数并不为0.
- #listdir.py
- import
os - #
递归遍历指定的目录 - #
level -- 递归的层数,用这个参数来控制打印的缩进 - #
path == 遍历起始绝对路径 - def
listyoudir(level, path): -
for i in os.listdir(path): -
print ' '*(level+1) + i -
if os.path.isdir(path + '\' + i): -
listyoudir(level+1, path + '\' + i) -
- #测试代码
- rootpath
= os.path.abspath('.') - print
rootpath - listyoudir(0,
rootpath)