【发布时间】:2017-03-26 11:56:44
【问题描述】:
我正在尝试将数据附加到文件中。每一行都写在一个函数中。以下是基于我的实际代码的示例代码:
a = 0
def data():
global a
a = int(raw_input('Enter value for a\n>'))
write()
def write():
f = open('path\\to\\file.txt', "a")
f.write('%s\n' % a)
f.close
proceed()
def proceed():
should = raw_input('Please press enter to continue or type in 0 to stop\n>')
if should == '0':
return
else:
data()
data()
当我运行代码并给出例如 1, 2 and 3 作为 a 的值时,这就是它被写入文件的方式:
3
2
1
但我希望它以这种方式写入文件:
1
2
3
这样做的正确方法是什么?每次运行write 函数时,如何在文件末尾追加一个新行?
【问题讨论】:
-
f.close不会关闭文件!并且不推荐使用全局变量来传递数据。使用参数。最后,我真的不明白为什么你会得到这个输出。追加模式不能恢复行的顺序,没有意义。 -
@Jean-FrançoisFabre 非常感谢。让它工作。
-
@Jean-FrançoisFabre 这也是我不明白的。即使文件没有关闭也不应该总是追加写入数据到文件末尾?
标签: python function file append