This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author switchnode
Recipients switchnode
Date 2017-06-19.04:14:46
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1497845687.86.0.210018987991.issue30700@psf.upfronthosting.co.za>
In-reply-to
Content
Consider the script:

$ cat nop.py
#!/usr/bin/env python
import fileinput
srt = fileinput.input(inplace=True)
print(srt.readline(), end='')
for line in srt:
        print(line, end='')

Called on text files, it will do nothing.

$ ls -alh test.*
-rw-r--r-- 1 501 utmp 1.3G Jun 18 22:17 test.mp4
-rw-r--r-- 1 501 utmp  71K Jun 18  2017 test.srt
$ ./nop.py test.srt
$ ls -alh test.*
-rw-r--r-- 1 501 utmp 1.3G Jun 18 22:17 test.mp4
-rw-r--r-- 1 501 utmp  71K Jun 18  2017 test.srt

However, if the user accidentally supplies the filename of a video instead of the associated srt...

$ ./nop.py test.mp4
Traceback (most recent call last):
  File "./nop.py", line 4, in <module>
    print(srt.readline(), end='')
  File "/usr/lib/python3.6/fileinput.py", line 299, in readline
    line = self._readline()
  File "/usr/lib/python3.6/fileinput.py", line 364, in _readline
    return self._readline()
  File "/usr/lib/python3.6/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa3 in position 43: invalid start byte
$ ls -alh test.*
-rw-r--r-- 1 501 utmp    0 Jun 18  2017 test.mp4
-rw-r--r-- 1 501 utmp  71K Jun 18  2017 test.srt
$ ls -alh * | grep 'bak'
$

Oops! It is gone.

I'm not sure why this happens. (Without the context-manager syntax, I would expect the program to end by excepting, fail to close the FileInput, and leave the backup file behind—certainly that would be the merciful option.)
History
Date User Action Args
2017-06-19 04:14:47switchnodesetrecipients: + switchnode
2017-06-19 04:14:47switchnodesetmessageid: <1497845687.86.0.210018987991.issue30700@psf.upfronthosting.co.za>
2017-06-19 04:14:47switchnodelinkissue30700 messages
2017-06-19 04:14:46switchnodecreate