정보의 가벼운 정보를 저장하고 태그 연결을 통해 검색하는 프로그램을 구성하는 파이썬 파일 집합이 있습니다. 많은 버전에서이 프로그램을 사용하고 있었지만, 최근에 프로그램을 엉망으로 만드는 사소한 변화라고 생각한 것을 만들었습니다. ENTRY 오브젝트는 고유 한 ID 번호, 별 *, 값 W 태그 목록을 보유하는 데이터 저장 영역의 기초입니다.속성이 있더라도 Python 3 AttributeError
class ENTRY:
def __init__(self, idNum, nickName, value, tagList):
self.idNum = idNum
self.nickName = nickName
self.value = value
self.tagList = tagList
나는 다른 파일에서 입력을 요청할 때 내가 의미로 "이름"과 "닉네임"속성을 언급 한 것을 깨달았다, 그래서 찾아 모두가 "이름"에와 "닉네임"의 언급 교체하기로 결정 코드를 쉽게 따르도록하십시오. ENTRY.py 파일뿐만 아니라 프로그램의 모든 관련 파이썬 파일에서도이 작업을 수행했습니다. 심지어 변경 사항이 대소 문자를 구별하는 함수 호출 또는 다른 것을 혼란에 빠뜨리지 않았는지 확인하기 위해 교정합니다.
문제는 :
:Traceback (most recent call last):
File "/Memory/TagMem.py", line 210, in <module>
main()
File "/Memory/TagMem.py", line 207, in main
dispatch(userChoice)
File "/Memory/TagMem.py", line 171, in dispatch
nameList('todo')
File "/Memory/TagMem.py", line 103, in nameList
memory.searchListNames(queryList)
File "/Memory/Memory.py", line 96, in searchListNames
each.printName()
File "/Memory/ENTRY.py", line 49, in printName
print("({}) {}".format(self.idNum, self.name))
AttributeError: 'ENTRY' object has no attribute 'name'
그러나 찾기 및 바꾸기 후
이 엔트리 객체가 가장 확실 속성 '이름'을 가지고 : 나는이 프로그램을 실행하면 이제, 내가 속성 오류class ENTRY:
def __init__(self, idNum, name, value, tagList):
self.idNum = idNum
self.name = name
self.value = value
self.tagList = tagList
속성이 클래스 생성자에서 매우 명확하게 정의 된 경우 특성 오류가 발생하는 이유를 알고있는 사람이 있습니까? https://github.com/kylelambert101/TagMem
을 그리고 특정이 충돌 유도 변경을 커밋 : 전체 클래스 코드에 대한 완전한 정보
의 GitHub의 저장소를 참조 https://github.com/kylelambert101/TagMem/commit/68987f2e6ed98012f36ec5230b3dac6f09373489
감사합니다!
당신이 생각하는 버전을 실행하고 있는지 확인하십시오. – user2357112
한 파일에서 실행중인 다른 파일로 사용자가 작성한 클래스를 가져 오는 것 같습니다. 그렇다면 파이썬 인터프리터를 종료하고 다시 시작하려고 했습니까? 종료하지 않는 한 재실행하면 종속 모듈의 변경 사항이 업데이트되지 않습니다. – Jeff
흠, 나는 두 번 나가서 그 프로그램을 두 번 다시 열었습니다. 그래서 그게 문제라고 생각하지 않습니다. 그러나, 귀하의 의견은 어떤 파일이 ENTRY.name에 액세스하려고하는지 생각하게 만들었습니다. 문제는 제가 내부에있는 많은 ENTRY 개체로 데이터베이스를 절인 한 것이라고 생각합니다.새로운 항목을 만들 수 있지만 이전 속성의 이름 특성에 액세스하려고하면 오류가 발생합니다. 문제가 해결되면 수정하고 내 게시물을 업데이트합니다! – Kyle