所以我有一个存档,如果有一个数字,比如1,我想做一个程序读取1,然后加1,所以1 + 1 = 2然后打印在存档2中,所以现在有存档中只有2个。我做的是这个
outfile = open('text.txt', 'r')
m=outfile.readline()
g=m+1
outfile.close()
outfile = open('text.txt', 'w')
outfile.write(str(g))
outfile.close()
但它一直在说:
TypeError: can't concatenate 'str' and 'int' objects
我知道我正在做的错误...但我无法解决它。介意帮助我这一个?谢谢聪明的人!
答案 0 :(得分:1)
当您阅读m
时,它是一个字符串。在添加1之前,您需要将其强制转换为int
。
with open("text.txt") as inf:
m = inf.read()
g = int(m) + 1
with open("text.txt", "w") as outf:
outf.write(str(g))
答案 1 :(得分:0)
我认为您之前曾提出过类似的问题,并且有同样的问题,您正在尝试连接strings
和integers
。
将其更改为此 - g=int(m)+1
答案 2 :(得分:0)
嗯,这是'错误'告诉你的。 您正在尝试使用整数“添加”字符串。
当您从文件中读取时,您正在阅读文本。 因此,您必须将正在读取的文本转换为整数。
如果您确切知道每行中的内容,则可以使用强制转换g = int(m) +1