tests/readlink.py
author Yuya Nishihara <yuya@tcha.org>
Thu, 03 Aug 2017 23:02:32 +0900
changeset 33682 1d5e497c08b3
parent 29485 6a98f9408a50
child 45830 c102b704edb5
permissions -rwxr-xr-x
py3: convert arbitrary exception object to byte string more reliably Our exception types implement __bytes__(), which should be tried first. Do lossy encoding conversion as a last resort.

#!/usr/bin/env python

from __future__ import absolute_import, print_function

import errno
import os
import sys

for f in sys.argv[1:]:
    try:
        print(f, '->', os.readlink(f))
    except OSError as err:
        if err.errno != errno.EINVAL:
            raise
        print(f, '->', f, 'not a symlink')

sys.exit(0)