최근 내 응용 프로그램에서이 문제를 가지고하지 호출 오류입니다 :무작위로 NoneType 객체가
File "main.py", line 31, in File "app.pyc", line 205, in run TypeError: 'NoneType' object is not callable"
내 코드 :
xml = EXML()
for pid, product in store.products.items():
xml.addRow()
xml.addCell((product['name']).encode('utf-8'), "String")
xml.addCell((product['symbol']).encode('utf-8'), "String")
xml.addCell((product['brand_name']).encode('utf-8'), "String") # line 205
xml.addCell(str(product['price']), "String")
파이썬 2.7 32 비트
그것은 유선의, 왜냐하면 이것은 ~ 1000 회 반복 후에 나타 났고, 어떤 선결 문제도 없었기 때문입니다. 이 응용 프로그램은 현재 가격을 얻기 위해 온라인 상점을 검색합니다. 처음에 나는 어딘가에 someting을 놓친 것 같았고, 그 결과로 None.encode('utf-8')
가 있었지만, no, 그리고 ".encode ('utf-8')가 작동하는 것 같았다. 또한, 테스트 사이트에서이 오류를 재현 할 수 없으며 때로는 ~ 2500 제품으로 열심히 일하는 동안 나타납니다. 이 오류의 다른 원인은 무엇입니까?
@Roman에 동의합니다. 일반적으로 코드에서와 같이 긴 한 줄짜리 코드는 피하는 것이 좋습니다. 메서드의 결과에 대한 함수 결과에 대한 메서드 호출 - 이해하기 어렵고 오류가 발생하면 어딘가에 찾아내는 것이 훨씬 더 힘듭니다. 또한 스크립트 실행이 종료되면 인터프리터를 호출하기 위해'python -i'를 사용하여 응용 프로그램을 실행 한 다음'import pdb'를 호출하고'pdb.pm()'을 호출 할 수 있습니다. 이것은 마지막 추적에서 Pdb 세션을 열어야하며 잘못된 점을 검사 할 수 있습니다. – immortal