import os
import stat
import sys
# ==============================================================================
# os.access()
# ==============================================================================
"""
Mode:
os.F_OK
test existence
os.R_OK
test readability
os.W_OK
test writability
os.X_OK
test executability
"""
file_path = '/tmp/file'
is_read_access = os.access(file_path, os.R_OK)
# ==============================================================================
# Check if access error
# ==============================================================================
try:
fp = open('filepath')
except IOError as e:
if e.errno == errno.EACCES:
return 'Permission error'
raise # Not a permission error
else:
with fp:
return fp.read()
# ==============================================================================
# Comparing os.stat with stat
# ==============================================================================
def is_group_readable(filepath):
"""
Checks if can read file
Source:
http://stackoverflow.com/questions/1861836/checking-file-permissions-in-linux-with-python
"""
st = os.stat(filepath)
return bool(st.st_mode & stat.S_IRGRP)
# sticky bit
stat.S_ISVTX
# mask for file permissions
stat.S_IRWXU
# ownver has write permission
stat.S_IRUSR
# owner has execute permissions
stat.S_IXUSR
# mask for group permissions
stat.S_IRWXG
# group has read permission
stat.S_IRGRP
# group has read permission
stat.S_IRGRP
# group has write permissions
stat.S_IWGRP
# group has exec permissions
stat.S_IXGRP