2016-10-20 2 views
3

모두 안녕하세요!str과 int로 계산되는 파이썬

저는 제대로 계산할 수 없으며 손실이 있습니다. 눈의 두 번째 쌍이 실제로 도움이 될 것입니다.

count1 = (count1 - 1) 

난 : 1이 변수에서, 그래서 같이 - 단순히 빼기 할 때, 그러나

import ConfigParser 
config = ConfigParser.ConfigParser() 
config.read("config.ini") 
count1 = config.get('Counter','count1') 
>>> print count1 
5 

:

나는 나의 config 파일에서 변수를 받고 있어요 오류가 발생했습니다 :

TypeError: unsupported operand type(s) for -: 'str' and 'int'

아무 도움이 정말 감사하겠습니다. 감사!

+1

오류 메시지가 알려줍니다로 : 당신은 설정에서 int 필요한 경우

, 당신은 RawConfigParser.getint 방법을 사용할 수 있습니다. '1'은'int'이므로'count1'은'str'이어야합니다. 에러를 줄 줄 앞에'print type (count1)'을 써서 그 것을 확실히 할 수 있습니다. 그런 다음'int()'로 변환하십시오. – Efferalgan

답변

4

당신은 문자열 연산을 할 수 없어, 당신은 int 기능을 정수로 먼저 변환해야합니다 :

count1 = int(config.get('Counter', 'count1')) 

당신은 또한 config.getint 또는 config.getfloat 방법을 사용할 수 있습니다.

float가 필요한 경우 float 함수를 대신 사용할 수 있습니다.

3
>>> count1 = config.get('Counter','count1') 

위의 코드는 단순히 문자열 유형을 반환합니다. 그래서 문자열 유형에서 int를 뺄 수 없으므로 오류가 발생합니다. 당신은 분명히 'str`와`int`의 뺄셈을하려고

>>> count1 = config.getint('Counter','count1') 
관련 문제