2015-04-01 178 views

回答

8

大小以字节为单位。来自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处理的所有其他文件方法也总是以字节为单位。

+2

好点,大约字节是标准的。然而,这是一个隐含的规则,需要对Python有很好的了解:我认为'SpooledTemporaryFile()'应该明确指出大小是以字节为单位的,这样任何人都可以使用它,而没有太多的Python文化。我会在这方面开一个问题。 – EOL 2015-04-01 14:57:56

+0

@EOL:我不确定这是否有必要;在C或Java或C#或任何其他语言中,当处理与字节处理的文件对象或Unicode支持代码点时。只有在处理更高级别的API或用户界面时才会开始查看其他单元。 – 2015-04-01 15:00:10

+1

我相信,在文档中添加“以字节为单位”并不需要花费太多的时间:与拥有相同问题的人所花费的时间相比,这可能会花费更少的时间。我有这个问题是因为你的答案之一(从2012年开始),你使用1024 * 10的大小:这是非常小的,所以我真的想知道它们是否是字节。 – EOL 2015-04-01 15:04:42