2016-11-21 1 views
0

파일 p2.txt에서 번호를 읽습니다. 정수이 파일 contrains 단 1 수는 있지만, 나는 오류를파이썬을 사용하여 다른 파일에서 하나의 번호 읽기

print int(ferNum) 
ValueError: invalid literal for int() with base 10: '1.100000000000000000e+01\n' 

나는 그냥 라인으로 고려하고 있다고 볼 수 있습니다 무엇입니까 때 10

test_file = open('p2.txt', 'r') 
test_lines = test_file.readlines() 
test_file.close() 
ferNum= test_lines[0] 
print int(ferNum) 

말할 수 있습니다. 어떻게 그 숫자를 변수로 파싱 할 수 있습니까? 어떤 제안? 관련

+3

입력 사항을 입력해야합니다. 그렇지 않으면 와일드 추측을하게됩니다. – JuniorCompressor

답변

3

문제는 수의 정수 (11) 비록 당신이 float 첫째로 읽을 수있는 것, 그래서 그것이 과학적 표기법으로 표현된다는 점이다.

>>> float('1.100000000000000000e+01\n') 
11.0 

>>> int('1.100000000000000000e+01\n') 
Traceback (most recent call last): 
    File "<pyshell#4>", line 1, in <module> 
    int('1.100000000000000000e+01\n') 
ValueError: invalid literal for int() with base 10: '1.100000000000000000e+01\n' 

당신은 물론 그 후 int 먼저 다음 float로 변환 할 수 있습니다.

관련 문제