使用str和int进行Python计数

使用str和int进行Python计数,python,Python,大家好 我不能正确地数数,我不知所措。第二双眼睛真的很有帮助 我从配置文件中得到一个变量,如下所示: import ConfigParser config = ConfigParser.ConfigParser() config.read("config.ini") count1 = config.get('Counter','count1') >>> print count1 5 但是,当我想简单地从这个变量中减去-1时,如下所示: count1 = (count1 - 1

大家好

我不能正确地数数,我不知所措。第二双眼睛真的很有帮助

我从配置文件中得到一个变量,如下所示:

import ConfigParser
config = ConfigParser.ConfigParser()
config.read("config.ini")
count1 = config.get('Counter','count1')
>>> print count1
5
但是,当我想简单地从这个变量中减去-1时,如下所示:

count1 = (count1 - 1)
我遇到了一个错误:

TypeError:-:“str”和“int”的操作数类型不受支持


任何帮助都将不胜感激。谢谢

不能对字符串进行算术运算,必须首先使用
int
函数将其转换为整数:

count1 = int(config.get('Counter', 'count1'))
您还可以使用
config.getint
config.getfloat
方法

如果需要浮点,可以使用
float
函数

>>> count1 = config.get('Counter','count1')
上面只返回一个字符串类型。这就是为什么会出现错误,因为不能从字符串类型中减去int

如果需要配置中的
int
,可以使用以下方法:


很明显,正如错误消息告诉您的那样,您正在尝试对
str
int
进行减法运算。由于
1
int
,因此
count1
必须是
str
。您可以在给出错误的行之前
打印类型(count1)
,以确保这一点。然后,只需使用
int()
转换它。
>>> count1 = config.getint('Counter','count1')