Si tiene los permisos 755 esta bien pero esto es solo para poder ejecutar tu script. Si tu script hace lecturas o escrituras en otra parte, tienes que asegurarte que el usuario que este ejecutando el script tenga los permisos para leer o escribir esos archivos.
Pero la carpeta tiene que poder leer y escribir el usuario que ejecuta el script probablemente www-data, apache o algún usuario similar. Es por eso que te marca error. Vuelvo a remarcarlo la carpeta no tu script.
En todo caso no es problema de python, si no de permisos en tu filesystem.
Por ultimo para demostrar que efectivamente no tienes permisos de escritura en tu carpeta. Cuando corras este script
Código Python:
Ver original# -*- coding: utf-8 -*-
import os
import pwd
print "Content-Type: text/html"
print
for mode in ("w", "wb"):
try:
f = open("test_%s.py" % mode, mode)
f.write('''# -*- coding: utf-8 -*-
print "Content-type: text/html"
print
print "<h3>Hello, world!</h3>"''')
f.close()
except IOError, e:
print "<p>usuario %s: Error %s</p>" % (pwd.getpwuid(os.getuid())[0], e)
Te imprimirá el usuario y el error `[Errno 13] Permission denied:`