def is_readonly_path(fn):
    'Check if a provided path exists and is readonly.\n\n    Permissions check is `bool(path.stat & stat.S_IREAD)` or `not os.access(path, os.W_OK)`\n    '
    if os.path.exists(fn):
        return ((os.stat(fn).st_mode & stat.S_IREAD) or (not os.access(fn, os.W_OK)))
    return False
Check if a provided path exists and is readonly.

Permissions check is `bool(path.stat & stat.S_IREAD)` or `not os.access(path, os.W_OK)`
def is_readonly_path(fn):
    'Check if a provided path exists and is readonly.\n\n    Permissions check is `bool(path.stat & stat.S_IREAD)` or `not os.access(path, os.W_OK)`\n    '
    if os.path.exists(fn):
        return ((os.stat(fn).st_mode & stat.S_IREAD) or (not os.access(fn, os.W_OK)))
    return False