【发布时间】:2015-04-01 14:44:45
【问题描述】:
tempfile.SpooledTemporaryFile() 的参数max_size 是内存中可以容纳的临时文件的最大大小(在溢出到磁盘之前)。这个参数的单位是什么(字节?千字节?)?文档(Python 2.7 和 Python 3.4)没有说明这一点。
【问题讨论】:
tempfile.SpooledTemporaryFile() 的参数max_size 是内存中可以容纳的临时文件的最大大小(在溢出到磁盘之前)。这个参数的单位是什么(字节?千字节?)?文档(Python 2.7 和 Python 3.4)没有说明这一点。
【问题讨论】:
大小以字节为单位。来自SpooledTemporaryFile() source code:
def _check(self, file):
if self._rolled: return
max_size = self._max_size
if max_size and file.tell() > max_size:
self.rollover()
file.tell() 以字节为单位给出位置。
我想说的是,任何与 Python 文件对象相关的术语 size 的使用都需要明确提及。所有其他处理 size 的文件方法也总是以字节为单位工作。
【讨论】:
SpooledTemporaryFile() 应该明确指出大小以字节为单位,以便 任何人 都可以使用它,而无需太多先前的 Python 文化.我将就此提出一个问题。
if max_size and file.tell() > max_size: 只有在 max_size 为 非零 时才为真。