这令人困惑。当我有以下代码时:
lista = [i for i in range(10)]
file=open("file.txt","a")
file.write("\n")
file.write("".join(str(lista)))
输出" file.txt"将是一个零字节的空文件。但是当我增加要写的字符串的大小时......
lista = [i for i in range(10000)] # Or larger
file=open("file.txt","a")
file.write("\n")
file.write("".join(str(lista)))
工作正常。虽然它对我没有意义,但它的行为就像是有一个最小的文件大小来写入输出文件。为什么是这样?这个问题在我的计算环境中是独一无二的吗?
感谢任何帮助。 我正在使用Mac OS Yosemite。 Python 3.
答案 0 :(得分:4)
在将内容写入文件后,您应该调用close
方法。
lista = [i for i in range(10)]
file=open("file.txt","a")
file.write("\n")
file.write("".join(str(lista)))
file.close()
或使用with
语句自动关闭文件:
lista = [i for i in range(10)]
with open("file.txt","a") as file:
file.write("\n")
file.write("".join(str(lista)))