Python 2.7 当我添加新方法时,Python AttributeError实例没有属性。
我试图在我的类中调用另一个方法,由于某些原因,我得到了AttributeError:portfinder实例没有属性“generatePortNumber”,请参见下面的代码: 当我试图调用generatePortNumber时,我得到了相同的错误。我从来没有遇到过这个问题Python 2.7 当我添加新方法时,Python AttributeError实例没有属性。,python-2.7,Python 2.7,我试图在我的类中调用另一个方法,由于某些原因,我得到了AttributeError:portfinder实例没有属性“generatePortNumber”,请参见下面的代码: 当我试图调用generatePortNumber时,我得到了相同的错误。我从来没有遇到过这个问题 #!/usr/bin/python # -*- coding: utf-8 -*- import sqlite3 as lite import sys import random class portfinder:
#!/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()
发现问题我的方法中有一个额外的缩进发现问题我的方法中有一个额外的缩进它实际上对我是有效的,也许你的原始源文件中有一些缩进问题?是的,我也觉得很奇怪。。不,这是一个直接的复制和粘贴。但是你给了我一个主意,威尔,如果这个主意行得通的话:)它实际上对我是行得通的,也许你的原始源文件有一些缩进问题?是的,我也觉得很奇怪。。不,这是一个直接的复制和粘贴。但是你给了我一个主意,威尔,如果这行得通的话:)