Python pymysql 模块,Connect() 实例源码
我们从Python开源项目中,提取了以下5个代码示例,用于说明如何使用pymysql.Connect()。
def __init__(self,dbname,key,citys):
self.T = datetime.datetime.strftime(datetime.datetime.now(), "%Y%m%d%H%M")
self.dbname = dbname
self.key = key
if len(citys) == 1:
self.city = citys[0]
elif len(citys) > 1:
self.city = "&".join(citys)
else:
self.city = ""
self.table_name = "{}_{}_{}".format(self.T,self.key,self.city)
self.conn = pymysql.Connect(
host="localhost",
port=3306,
user='root',
password='python',
db=self.dbname,
charset='utf8'
)
self.cursor = self.conn.cursor()
# ????????
self.create_table()
# ??????????????????????
def get_conn(sock=MyConfig.UNIX_SOCKET):
if sock != '':
return pymysql.Connect(user=MyConfig.USERNAME,passwd=MyConfig.PASSWORD,db='ec_forum',charset='utf8',unix_socket=sock)
return pymysql.Connect(host='127.0.0.1',user=MyConfig.USERNAME,passwd=MyConfig.PASSWORD,db='ec_forum',charset='utf8')
def runUserCF():
conn = pymysql.Connect(
host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = '123456',
db = 'InforRec',
charset = 'utf8',
)
cursor = conn.cursor()
ratingfile = 'ratings.dat'
usercf = myUserCF.commonUserCF()
usercf.generate_dataset(ratingfile)
usercf.calculateUserSimilarity()
for u, related_users in usercf.user_sim_mat.items():
for v, count in related_users.items():
try:
sql = "insert into user_sim(user1Id, user2Id, count) values(%s, %s, %s)" % (u, v, count)
cursor.execute(sql)
conn.commit()
except Exception as e:
print(e)
conn.rollback()
print("Message: user similiarity has been put into database.")
cursor.close()
conn.close()
def get2016AllScore():
try:
# command = "select id,pub_date,news_content from dyx_emotion_analysis where pub_date between '2016-01-01' and '2016-12-31';"
command = "select id,pub_date,news_content from wise_news where pub_date between '2016-01-01' and '2016-12-31';" # ????????
conn = pymysql.Connect(host = host,port=port,user=user,passwd=passwd,db=db,charset=charset)
cursor = conn.cursor()
except Exception as error:
print('????',end=' ')
print('????\n',error)
else:
print('????')
print('???ing')
baseStamp = time.mktime(time.strptime('2016-01-01','%Y-%m-%d')) #2016?????????
rsList = []
cursor.execute(command)
lineCount = cursor.rowcount
for i in range(lineCount):
rs = cursor.fetchone()
rsDict = dict()
rsDict['id'] = rs[0]
rsDict['date'] = rs[1]
nowStamp = time.mktime(time.strptime(rsDict['date'],'%Y-%m-%d')) # ??????
rsDict['days'] = (int)((nowStamp-baseStamp)/(24*60*60)) # ?????????
# ????????????bug
try:
news = cht_to_chs(clean_html(rs[2]))
rsDict['score'] = get_score(news)
except Exception as error:
rsDict['score'] = 0
else:
pass
print('Index at:',i,rsDict)
rsList.append(rsDict)
with open('2016AllScore.plk','wb')as f:
pickle.dump(rsList,f)
print('????')
cursor.close()
conn.close()
def runItemCF():
conn = pymysql.Connect(
host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = '123456',
db = 'InforRec',
charset = 'utf8',
)
cursor = conn.cursor()
ratingfile = 'ratings.dat'
itemcf = myItemCF.commonItemCF()
itemcf.generate_dataset(ratingfile)
itemcf.calc_movie_sim()
for m1, related_movies in itemcf.movie_sim_mat.items():
for m2, count in related_movies.items():
try:
sql = "insert into item_sim(item1Id, item2Id, weight) values(%s, %s, %s)" % (m1, m2, itemcf.movie_sim_mat[m1][m2])
cursor.execute(sql)
conn.commit()
print("insert %s and %s" % (m1, m2))
except Exception as e:
print(e)
conn.rollback()
print("Message: movie similiarity has been put into database.")
for i, user in enumerate(itemcf.trainset):
rec_movies = itemcf.recommend(user)
for movie, w in rec_movies:
try:
sql = "insert into rec_result(userId, artId, weight) values(%s, %s, %s)" % (user, movie, w)
cursor.execute(sql)
conn.commit()
except Exception as e:
print(e)
conn.rollback()
print("Message: the result of itemCF has been put into database.")
cursor.close()
conn.close()