Python 写文件有问题

Python 写文件有问题,python,Python,编写一个名为“file_increment”的函数,该函数不带参数,也不返回值。此函数将读取名为“orange.txt”的文件的内容,该文件只有一行,并且包含格式良好的整数。读取此整数并将其值加1写入名为“sleeve.txt”的文件。如果“sleeve.txt”已经存在,则必须覆盖它 def file_increment(): with open("orange.txt", 'r') as rf: with open('sleeve.txt', 'w') as wf:

编写一个名为“file_increment”的函数,该函数不带参数,也不返回值。此函数将读取名为“orange.txt”的文件的内容,该文件只有一行,并且包含格式良好的整数。读取此整数并将其值加1写入名为“sleeve.txt”的文件。如果“sleeve.txt”已经存在,则必须覆盖它

def file_increment():
    with open("orange.txt", 'r') as rf:
        with open('sleeve.txt', 'w') as wf:
            for line in rf:
                wf.write(line+1)

我遇到错误:无法将“int”对象隐式转换为str。如何解决此问题?

如果无法隐式解决,请显式解决:

wf.write(str(int(line)+1))

您错过了类型转换,这将对您有效

   def file_increment():
    with open("orange.txt", 'r') as rf:
        with open('sleeve.txt', 'w') as wf:
            for line in rf:
                wf.write('{}\n'.format(str(int(line)+1)))

您可以使用更具可读性的上下文管理器打开这两个文件。从那里计算新行并以字符串格式写入新文件

def file_increment():
    with open("orange.txt", 'r') as rf ,open('sleeve.txt', 'w') as wf:
            line = rf.read()
            new_line = int(line) + 1
            wf.write('{}'.format(new_line))

我仍然得到write()参数必须是str,而不是int。抱歉,请参阅我的编辑。你必须把它变成一个
int
来做数学题,然后回到
str
来写欢迎来到SO btw!既然你是新来的,请别忘了标出对解决问题最有帮助的答案。