[Python-Dev] Fuzziness in io module specs
MRAB
python at mrabarnett.plus.com
Fri Sep 18 22:24:52 CEST 2009
James Y Knight wrote:
>
> On Sep 18, 2009, at 3:55 PM, MRAB wrote:
>
>> I think that this should be an invariant:
>>
>> 0 <= file pointer <= file size
>>
>> so the file pointer might sometimes have to be moved.
>
>> As for the question of whether 'truncate' should be able to lengthen a
>> file, the method name suggests no; if the method name were 'resize', for
>> example, then maybe yes, zeroing the new bytes for security.
>
>
> Why are you just making things up? There is a *vast* amount of precedent
> for how file operations should work. Python should follow that precedent
> and do like POSIX unless there's a compelling reason not to. Quoting:
>
> If fildes refers to a regular file, the ftruncate()
> function shall cause the size of the file to be truncated to
> length. If the size of the file previously exceeded length, the
> extra data shall no longer be available to reads on the
> file. If the file previously was smaller than this size,
> ftruncate() shall either increase the size of the file or
> fail. XSI-conformant systems shall increase the size of the
> file. If the file size is increased, the extended area
> shall appear as if it were zero-filled. The value of the seek
> pointer shall not be modified by a call to ftruncate().
>
"making things up"? I'm just expressing an opinion!
More information about the Python-Dev
mailing list