我正在编写一个递归函数来编写树的子类别.我不想使用全局var,在recurse方法上写入文件的最佳方法是什么?
def recurse(i):
Xmlfile = file("index.html", "w")
if i < 5:
Xmlfile.write(str(i))
recurse(i+1)
return(None)
def main():
Xmlfile = file("index.html", "w")
Xmlfile.write("I")
recurse(3)
Xmlfile.write("O")
Run Code Online (Sandbox Code Playgroud)
预期的输出应该是这样的:I 3 4 5 O,但我只是得到了我.
把它作为一个论点.您执行此操作的方式将在每次迭代时重新打开并截断文件.
def recurse(f, i):
if i < 5:
f.write(str(i))
recurse(f, i+1)
def main():
with open("index.html", "w") as xmlfile:
xmlfile.write("I")
recurse(xmlfile, 3)
xmlfile.write("O")
Run Code Online (Sandbox Code Playgroud)
请注意,我已file()使用推荐替换open(),并添加了上下文管理器以确保文件关闭.