많은 시간을 보냈지 만 제 경우에 대한 올바른 대답을 찾지 못했습니다.
첫 번째 : 나는 (적어도 현재는) 해시 등으로 실행되지 않는 쉬운 데이터베이스 시스템을 만들고있다. 지금 나는 붙어있어.Pythons의 AttributeError : 'NoneType'객체에 'errors'속성이 없습니다.
import sys
import os
filename = ""
database = ""
path = ""
table = ""
class Nollty:
returns = 0
errors = 0
def __init__(self, filename, database):
self.filename = filename
self.database = database
self.path = self.filename + "databases/" + self.database
openfile = open(self.path + "/db_required", "r")
if not openfile.errors:
self.returns = 1
if not os.path.exists(self.path + "/db_required"):
self.returns = 0
openfile.close();
def select(self, table):
errors = 0
self.table = table
openfile = open(self.path + "/" + self.table, "r")
if not openfile.errors:
errors = 1
if not os.path.exists(self.path + "/" + self.table):
errors = 0
openfile.close();
nollty = Nollty("", "test")
if nollty.returns == 1:
print "Successfully connected to the database!"
query = nollty.select("aaa_auto")
if query.errors == 0:
print "Successfully chosen the table!"
오류 출력은 다음과 같습니다
Traceback (most recent call last):
File "/home/spotrudloff/Python/Nollty/nollty.py", line 40, in <module>
if query.errors == 0:
AttributeError: 'NoneType' object has no attribute 'errors'
문제는 내가 PHP 프로그래머 해요 것을 아마, 나는 (나의 생각은 여전히 "PHPy") 몇 시간 오늘 파이썬을 배웠습니다.
모든 답변 주셔서 감사합니다.
select 함수가 뭔가를 반환하게합니다 ... – JBernardo
'openfile.오류'는 당신이 생각하는 것과 거의 틀림이 없습니다. 오류 코드로 설정되지 않습니다. 이는 인코딩에 사용되는 오류 처리기를 지정하는 문자열입니다. 예제 코드에서는 항상 'None' 값을 갖습니다. ([docs] (http://docs.python.org/library/stdtypes.html#file.errors)를 참조하십시오. – ekhumoro
+1을 사용하면 도움이되는 것으로 나타났습니다. – ryanjdillon