- 论坛徽章:
- 1
|
编程不是新手,但是用python是新手,没系统学过,都是想到需要什么功能就去google.
目前访问Mysql试用的是mysql官方的mysql-connector-python.
因为这个库的execute方法返回的是一个tuple,但是这不符合以前使用的其它语言的数据库记录方法。
所以想模拟一个,google上有一个方法:
- class MySQLDictCursor(mysql.connector.cursor.MySQLCursor):
- def _row_to_python(self, rowdata, desc=None):
- row = super(MySQLDictCursor, self)._row_to_python(rowdata, desc)
- if row:
- return dict(zip(self.column_names, row))
- return None
复制代码 但是这个方法不完美,就想做一个和.net的ado.net一样的记录格式,要求
row[1], row[2]等直接用数字做索引时,就返回该数字索引所代表的列的值。
但是用row["col1"], row["col2"] 访问时,就返回字符串列名(不区分大小写)的列的值。
因为对python的魔术方法不熟,而且对继承方面也不太深入,想让高手给写写试试。
要求:
python3
尽量专业,
最好直接继承tuple和dict. |
|