2011-12-05 2 views
1
Traceback (most recent call last): 
    File "filter_import.py", line 77, in <module> 
     get(sys.argv[1]) 
    File "filter_import.py", line 35, in get 
     timestamp, ip, hash_value = lines.split() 
ValueError: need more than 2 values to unpack 

코드 filter_import를 실행할 때이 오류 메시지가 표시됩니다. 아무도 문제를 설명 할 수 있습니까? 내 코드의Python의 ValueError

부분 :

if __name__ == '__main__': 
import sys 
if len(sys.argv) == 1: 
    print 'Usage: filter_import.py <filename>' 
    sys.exit(1) 
get(sys.argv[1]) 

답변

6

두 개의 값을 제공하지 않는 문제의 라인, 그래서 timestamp, iphash_value이 실패한 두 변수에 split()의 반환 값의 "풀기". 이 부분에 대한

>>> a,b,c = "foo".split() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ValueError: need more than 1 value to unpack 
+0

감사하지만 다음은

독립 실행 형 오류의 재현인가? 'file "filter_import.py", 줄 77, get (sys.argv [1])', 잘못된 점이 있습니까? @unwind – manxing

+2

번호 스택 추적의 일부입니다. 스택 트레이스는 인터프리터가 예외를 발생시키는 코드 줄에 도달하기 위해 통과 한 코드 줄을 보여줍니다. 귀하의 예제에서 그것은 단지'get' 메소드가 모듈의 77 줄에서 호출되었음을 나타냅니다. – gecco