6
tempfile.SpooledTemporaryFile()
的参数max_size
是可装入内存的临时文件的最大大小(在将其泄漏到磁盘之前)。这个参数的单位是什么(字节?千字节?)?文档(对于Python 2.7和Python 3.4)都没有指出这一点。SpooledTemporaryFile:最大(内存中)大小的单位?
tempfile.SpooledTemporaryFile()
的参数max_size
是可装入内存的临时文件的最大大小(在将其泄漏到磁盘之前)。这个参数的单位是什么(字节?千字节?)?文档(对于Python 2.7和Python 3.4)都没有指出这一点。SpooledTemporaryFile:最大(内存中)大小的单位?
大小以字节为单位。来自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()
给出了一个以字节为单位的位置。
我会说任何使用术语size
与Python文件对象而不是以字节表示的任何用法都需要明确提及。根据size
处理的所有其他文件方法也总是以字节为单位。
好点,大约字节是标准的。然而,这是一个隐含的规则,需要对Python有很好的了解:我认为'SpooledTemporaryFile()'应该明确指出大小是以字节为单位的,这样任何人都可以使用它,而没有太多的Python文化。我会在这方面开一个问题。 – EOL 2015-04-01 14:57:56
@EOL:我不确定这是否有必要;在C或Java或C#或任何其他语言中,当处理与字节处理的文件对象或Unicode支持代码点时。只有在处理更高级别的API或用户界面时才会开始查看其他单元。 – 2015-04-01 15:00:10
我相信,在文档中添加“以字节为单位”并不需要花费太多的时间:与拥有相同问题的人所花费的时间相比,这可能会花费更少的时间。我有这个问题是因为你的答案之一(从2012年开始),你使用1024 * 10的大小:这是非常小的,所以我真的想知道它们是否是字节。 – EOL 2015-04-01 15:04:42