#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
import os
class MysqlServer(object):
def __init__(self, host, port, user, password):
self.host = host
self.port = port
self.user = user
self.passwd = password
self.conn = self.__create_connection()
def __create_connection(self):
#和遠端mysql建立連接
conn = MySQLdb.connect(host=self.host, port=self.port, user=self.user, passwd=self.passwd, charset='utf8')
#選取數據庫
conn.select_db("db_name")
return conn
def close(self):
#關閉連接
self.conn.close()
def execute(self, sql):
#執行sql語句
cursor = self.conn.cursor()
cursor.execute(sql)
self.conn.commit()
def get_comment_data_info(file_path):
#獲取文件內容
with open(file_path, 'r') as file:
comment_data_info = file.read()
return comment_data_info
def write_data_to_db(data):
#判斷文件是否存在
if not os.path.exists(data['data_info']['file_path']):
return "file: %s not exist" % data['data_info']['file_path']
comment_data_info = get_comment_data_info(data['data_info']['file_path'])
#生成sql語句
sql = "INSERT INTO user_info(username, course_id, score, comment) VALUES " "('%s', '%s', '%d', '%s')" % \
(data['data_info']['username'], data['data_info']['course_id'], data['data_info']['score'], comment_data_info)
try:
mysql_server = MysqlServer(data['db_info']['host'], data['db_info']['port'], data['db_info']['user'],
data['db_info']['passwd'])
mysql_server.execute(sql)
except Exception as e:
return str(e)
return "insert success"
def main():
data = {
#遠端數據庫信息
"db_info": {"host": "192.168.100.100",
"port": 3306,
"user": "root",
"passwd": "abcdefg", },
#需要插入的信息以及文件路徑
"data_info": {"username": "user1",
"course_id": "100",
"score": 100,
"file_path": "/test1233"}
}
status = write_data_to_db(data)
print(status)
if __name__ == "__main__":
main()