私は config.ini を持っています:
[mysql]
host=localhost
port=3306
user=root
passwd=abcdefgh
db=testdb
unix_socket=/opt/lampp/var/mysql/mysql.sock
私はこのクラスを持っています:
#!/usr/bin/python
import MySQLdb,ConfigParser
config = ConfigParser.ConfigParser()
config.read("config.ini")
class MySQL( object ):
def __init__( self ):
self.host = config.get("mysql","host")
self.port = config.get("mysql","port")
self.user = config.get("mysql","user")
self.passwd = config.get("mysql","passwd")
self.db = config.get("mysql","db")
self.unix_socket = config.get("mysql","unix_socket")
self.conn = MySQLdb.Connect(self.host,
self.port,
self.user,
self.passwd,
self.db,
self.unix_socket)
self.cursor = self.conn.cursor ( MySQLdb.cursors.DictCursor )
def __del__( self ):
self.cursor.close()
self.conn.close()
この:
#!/usr/bin/env python
from mysql import MySQL
class Incident( MySQL ):
def getIncidents( self ):
self.cursor.execute("""*VALID QUERY*""")
return self.cursor.fetchall()
そして最後にこれ:
import subprocess, os, alarm
from Queue import Queue
from incident_model import Incident
fileQueue = Queue()
def enumerateFilesPath():
global fileQueue
incident = Incident()
incidents = incident.getIncidents()
for i in incidents:
fileQueue.put("MD5")
def main():
global fileQueue
enumerateFilesPath()
出力:
トレースバック (最後の最後の呼び出し):
ファイル "./mwmonitor.py"、202 行目、
main() ファイル "./mwmonitor.py"、184 行目、main
enumerateFilesPath() ファイル "./mwmonitor.py"、 86 行目、
enumerateFilesPath
インシデント = Incident() ファイル "/usr/share/mwanalysis/core/mysql.py"、23
行目、init
self.unix_socket) ファイル "/usr/lib/pymodules/python2.6/MySQLdb/ init .py"、
81 行目、Connect
return Connection(*args, **kwargs) ファイル
"/usr/lib/pymodules/python2.6/MySQLdb/connections.py"、170
行目、init
super(Connection, self )。init (*args, **kwargs2)
TypeError: 整数が必要です
Exception AttributeError: "'Incident'
object has no attribute 'cursor'" in
0xa03d46c>> 無視され ました
誰かがエラーの検出と修正を手伝ってくれるなら、大歓迎です。前もって感謝します。