【发布时间】:2023-03-22 21:23:01
【问题描述】:
这很令人困惑。当我有以下代码时:
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。
【问题讨论】:
-
适用于 Ubuntu 和 python 3.4。也可能你想要
"".join(map(str,lista)) -
您是否在两次操作后都关闭了文件?
-
可能是缓冲问题。见documentation。
-
它对我有用,这些是我的 file.txt 的内容:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-
@kartikg3 我正在删除运行之间的文件。