write eof without closing

Fredrik Lundh fredrik at pythonware.com
Mon Aug 21 02:28:18 EDT 2006


Alex Martelli wrote:

>> IIRC, ctrl-Z is not used _in_files_ to represent EOF.  Only
>> when text is being entered at the console.
> 
> Easy to test, if you have Windows:
> 
>>>> n='foo.txt'
>>>> s='ba\r\n'+chr(26)+'bo\r\r'
>>>> open(n,'wb').write(s)
>>>> ss=open(n).read()
>>>> ss
> 'ba\n'
> 
> As you see, in _text_ files on Windows a control-Z (char(26), AKA
> '\x1a') does indeed represent "end of file"

your test doesn't match the OP's example, though, which used control-Z 
to signal end of file when reading from the console:

 >copy con test.txt
hello
^Z
         1 file(s) copied.

that control-Z works in the same way as control-D on Unix, and no EOF 
character is copied to the file:

 >python -c "print repr(open('test.txt', 'rb').read())"
'hello\r\n'

</F>




More information about the Python-list mailing list