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()
它的實際工作對我來說是,也許你有你的原始源文件中的一些縮進問題,? –
是的,我發現它太奇怪了..沒有它的直接複製和粘貼。但是,你給了我一個主意,如果這有效:) –