linustd 发表于 2014-06-21 12:34

求python高手给些一个record类型的类。

编程不是新手,但是用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, row等直接用数字做索引时,就返回该数字索引所代表的列的值。

但是用row["col1"], row["col2"] 访问时,就返回字符串列名(不区分大小写)的列的值。

因为对python的魔术方法不熟,而且对继承方面也不太深入,想让高手给写写试试。

要求:

python3
尽量专业,
最好直接继承tuple和dict.
页: [1]
查看完整版本: 求python高手给些一个record类型的类。