Recuerda que quien ejecuta tu CGI es el usuario que ejecuta el servidor web. ¿Ese usuario tiene permisos de escritura en ese directorio?
En Perl, lo normal es poner
Código:
open my $aligfile,'>','/httpd/phylomedb/web/temp/calig.txt'
or die "ERROR: No pude escribir en el fichero: $!";
print {$aligfile} "popeye\n";
close $aligfile;
El '$!' mostrará el mensaje de error devuelto por el sistema, por lo que nos enteraremos porqué no podemos escribir en el fichero.
Lo que no sé es cómo se hace eso en Python.