Импорт класса PSP + MySQL connect - PullRequest
0 голосов
/ 06 марта 2010

Хорошо, поэтому я пытаюсь импортировать созданный мной класс, который подключается к базе данных MySQL, код класса показан ниже:

class connection
    def__init__( self ):
        self.cnx = MySQLdb.connect(user='xxx',host='xxx',passwd='xxx',db='xxx')

Все параметры для подключения mysql верны, и файл, содержащий класс, находится в том же каталоге, что и файл PSP. Файл класса называется cnx_class.py

когда я запускаю свой файл PSP, я получаю 'cnx' не определено. Мой код PSP ниже:

<psp:file>
import cnx_class
</psp:file>
<%
cur = cnx.cursor()
cur.execute('select * from protein;')
rows = cur.fetchall()
for row in rows:
    req.write`(row)`
#end
%>

любая помощь?

Ответы [ 2 ]

0 голосов
/ 06 марта 2010

Попробуйте заменить

cur = cnx.cursor()

с

con=cnx_class.connection()
cur=con.cnx.cursor()

Вы также можете заменить

rows = cur.fetchall()
for row in rows:

с

for row in cur.fetchall():

поскольку курсоры являются итераторами.

0 голосов
/ 06 марта 2010

Вы ужасно смущены тем, как работают модули и классы.Пожалуйста, прочтите и проработайте хотя бы раздел модулей и раздел классов руководства по Python.

...