Greetings! My search-fu failed me, so thought of finally asking this question here.
How can I work around this issue where subprocess.getstatusoutput gives up, on Python 3.5.2: >>> subprocess.getstatusoutput("tail -3 /tmp/pmaster.db",) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.5/subprocess.py", line 805, in getstatusoutput data = check_output(cmd, shell=True, universal_newlines=True, stderr=STDOUT) File "/usr/lib/python3.5/subprocess.py", line 626, in check_output **kwargs).stdout File "/usr/lib/python3.5/subprocess.py", line 695, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.5/subprocess.py", line 1059, in communicate stdout = self.stdout.read() File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode return codecs.ascii_decode(input, self.errors)[0] UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 189: ordinal not in range(128) >>> That file's content is kryptonite for python apparently. Other shell operations work. >>> subprocess.getstatusoutput("file /tmp/pmaster.db",) (0, '/tmp/pmaster.db: Non-ISO extended-ASCII text, with very long lines, with LF, NEL line terminators') >>> subprocess.getstatusoutput("wc -l /tmp/pmaster.db",) (0, '155065 /tmp/pmaster.db') >>> subprocess.getstatusoutput("tail -3 /tmp/pmaster.db",) Thanks in advance for your time and advice! _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor