2017-01-07 1 views
-1

입니다파이썬 : 운영 체제가 다음 줄에 NoneType

def run_job_subtype(self): 
    print os 
    if os.path.exists(self.abs_export_dir): 
     return "incr" 
    else: 
     return "full" 

나는 다음과 같은 역 추적 무엇입니까 :

"AttributeError: 'NoneType' object has no attribute 'path' 

인쇄 OS : 그것은

<module 'os' from '/usr/lib/python2.7/os.pyc'> 
<module 'os' from '/usr/lib/python2.7/os.pyc'> 
<module 'os' from '/usr/lib/python2.7/os.pyc'> 
None 
None 
None 
None 
None 
None 
None 

갑자기 모든입니다

을 없음으로 설정
프로그래밍 방식으로 없음으로 설정한다고 생각합니다.
프로그래머가 os를 None으로 설정하는 것이 가능합니까?
또는 수천 줄의 코드를 수동으로 찾는 것 외에는 디버깅 할 수있는 방법이 있습니까?

def run_job_subtype(self): 
     print os 
     print sys.modules['os'] 

     if os.path.exists(self.abs_export_dir): 
      return "incr" 
     else: 
      return "full" 

역 추적

print sys.modules[\'os\'] 
', "AttributeError: 'NoneType' object has no attribute 'modules' 

그리고 메신저도 가져 SYS :

이 기능은 스레드

또 다른 이상한 것은 내에서 호출됩니다 .... 나는에 코드를 변경했습니다 . 나는 분명히 운영 체제와 변수 모두를위한 변수를 만들지 않는다. ...

무언가가 모든 수입품을 닦는다?

+4

코드에'None '과 같은 값을 설정하는 변수'os'가 있습니다. –

+0

어딘가에'os'라는 변수에 'None'을 할당하여 모듈 이름을 섀도 잉합니다. – snakecharmerb

+1

누군가가 질문에서 복사하여 붙여 넣을 수 있고 문제를 직접 볼 수있는 완전한 예제를 생성하십시오. 이것을 수행하는 방법 (MCVE에 코드 중심의 질문을 제공하지 않으면 동기 부여가 불가능한 동기 부여 방법)은 http://stackoverflow.com/help/mcve 및 http : // sscce에서 논의됩니다. org /. –

답변

0

오류가 정확히 어떤 문제가 - 당신은 문자열, 정수, 또는 다른 변수에 .path를 실행하려고 os.path.exists()을 실행할 때 따라서, os의 이름으로 변수를 설정했습니다.

+0

메신저 내 diff를보고 있지만 모든 변수 os 이름을 didnt ... – ealeon

+0

다음 코드를 모두 표시 할 수 있습니까? 한 줄로만 작업하기가 어렵습니다. :) – UnsignedByte

+0

@BoboCarr, ... 참고로, 일반적인 연습은 할 수없는 답을 제공하는 대신 명확하게 대답하기에 충분하지 않은 질문을 닫는 것입니다. OP를 제외하고 정확성을 평가했다. 특히이 질문 유형에 대한 자세한 방법은 다음과 같습니다. * 디버깅 도움말을 찾는 질문 ("이 코드가 작동하지 않는 이유는 무엇입니까?")에는 원하는 동작, 특정 문제 또는 오류 및 질문 자체에서 재현하는 데 필요한 가장 짧은 코드가 포함되어야합니다 . * -이 경우 "재현하는 데 필요한 가장 짧은 코드"가 누락됩니다 (주어진 코드는 문제를 재현하지 않습니다). –

관련 문제