使用python读/写程序中的问题

时间:2015-12-15 19:41:35

标签: python rewrite add

所以我有一个存档,如果有一个数字,比如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

我知道我正在做的错误...但我无法解决它。介意帮助我这一个?谢谢聪明的人!

3 个答案:

答案 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)

我认为您之前曾提出过类似的问题,并且有同样的问题,您正在尝试连接stringsintegers

将其更改为此 - g=int(m)+1

答案 2 :(得分:0)

嗯,这是'错误'告诉你的。 您正在尝试使用整数“添加”字符串。

当您从文件中读取时,您正在阅读文本。 因此,您必须将正在读取的文本转换为整数。

如果您确切知道每行中的内容,则可以使用强制转换g = int(m) +1