2014-01-13 30 views
0

我想我的類中調用的另一種方法,由於某種原因,我收到AttributeError的:portfinder實例沒有屬性「generatePortNumber」見下面我的代碼:Python AttributeError實例沒有屬性,當我添加一個新的方法。

,當我試着撥打generatePortNumber我得到相同的錯誤。我從來沒有遇到過這個問題。

#!/usr/bin/python 
# -*- coding: utf-8 -*- 

import sqlite3 as lite 
import sys 
import random 



class portfinder: 
    """docstring for ClassName""" 
    def __init__(self): 
     self.portsToCheck = ['agentport','BatchProcessingAgentPort','databaseport','indexserviceport','monitorport','servicefacadeport','webdriverport'] 
     self.dataBasePort = (u'60025',) 
     self.portInUse = False 
     self.x = 0 



    def generatePortNumber(self): 
      self.newPortNumber = random.randrange(8000, 9000) 
      print self.newPortNumber 
      return self.newPortNumber 

    def findUsedPortsinDB(self): 
     con = lite.connect('D:\play\Opes\db.sqlite3') 
     with con:  
      cur = con.cursor() 
      sqlStatement = "Select " + self.portsToCheck[2] +' From Jobs_jobs' 
      print sqlStatement 
      cur.execute(sqlStatement) 
      rows = cur.fetchall() 
      for row in rows: 
       print row 
       if row == self.dataBasePort: 
        self.portInUse = "true" 
        self.generatePortNumber()     





if __name__ == "__main__": 
    m = portfinder() 
    m.findUsedPortsinDB() 
+0

它的實際工作對我來說是,也許你有你的原始源文件中的一些縮進問題,? –

+0

是的,我發現它太奇怪了..沒有它的直接複製和粘貼。但是,你給了我一個主意,如果這有效:) –

回答

4

找到什麼是錯的,我在我的方法一個額外的壓痕

相關問題