use os.access(file, os.R_OK) for check whether a file can open for read, but test fail. The access return True, but still open permission denied.
open file several times if file permission denied instead of check os.access(file, os.R_OK)
fix the if print open file false, permission denied, and not print db exception in init db
change .gitignore for log file