BETA, la rivista ipertestuale tecnica
BETA La rivista ipertestuale tecnicaBarra BETA
Sommario Abbonamenti a BETA Redazione Liste/Forum Informazioni Indici BETA La rivista ipertestuale tecnica Collegamento al sito Web
BETA - Tecnologie Web

BETA 2399.6 - Tecnologie Web - La Programmazione CGI in Python - Parte 1 | Parte 2 | Parte 3 | Parte 4 | Parte 5

La Programmazione CGI in Python

Parte III

Marco Buzzo
Collaboratore, BETA

Stampiamo un’immagine

Utilizziamo i concetti acquisiti nel precedente esempio per stampare una immagine. Ipotizziamo di disporre di una foto ferrari.gif; in linea di principio dovrebbe essere necessario comunicare al bowser che il contenuto del file è una immagine. In realtà lo script corretto è un po’ più complesso:

import sys

immagine = open('ferrari.gif','rb').read()

sys.stdout.write('Content-type: image/gif\r\n')

sys.stdout.write('\r\n')

sys.stdout.write(immagine)

La apparente maggiore complessità di questo script è essenzialmente legata al fatto che stampare l’immagine con print è poco opportuno: potrebbe non essere interpretato correttamente dal browser, o in concomitanza di una riga vuota potrebbe persino non essere interpretato.

Per ovviare a questo inconveniente, si richiama inizialmente il modulo sys contenente le operazioni di sistema come sys.stout.write() che rappresenta l’equivalente di print.

La riga che segue serve per leggere il file in cui è contenuta l’immagine (ferrari.gif), in modalità ‘rb’, dove r sta per read only, in quanto il file è aperto in sola lettura; l’opzione b è necessaria solo nel caso in cui si debba lavorare con Windows, nel qual caso è necessario distinguere tra file binario (come in questo caso) o di testo.

A questo punto troviamo la comunicazione al browser sul contenuto del documento, quindi i caratteri di escape per andare a capo, ed infine l’effettiva stampa dell’immagine.

Coordinate temporali

Vediamo spesso delle pagine web in cui in un piccolo riquadro viene stampata l’ora locale; proviamo a realizzarla. Il risultato che ci proponiamo di ottenere è incredibilmente semplice, come appare dal seguente listato:

#!/usr/bin/python

from time import *

def main():

print "Content-type: text/html"

print

print "<TITLE>In mezzo al Mediterraneo</TITLE>"

print "Ciao!"

print "<P>Eccoci in Sardegna!<br>Oggi e'", ctime( time() ) + ".<P>"

In pratica il compito è demandato al modulo time richiamato inizialmente che si basa sull’orologio interno del server, e mediante la sua funzione ctime, visualizza giorno, ora ed anno.


Collegamento d'articolo

Parte 1 | Parte 2 | Parte 3 | Parte 4 | Parte 5
Successivo: Parte 4


Articoli correlati

CGI Corner e ss. serie curata da Michele Beltrame
Altri Articoli della stessa Rubrica...

Siti Web

http://www.python.org/
http://web.tiscalinet.it/python
Elenco di siti consigliati da BETA...


Ultima revisione:

Copyright © 1995-1999 BETA, tutti i diritti sono riservati. E' vietata la riproduzione senza autorizzazione dell'editore o dell'autore dentro i termini e le condizioni della Licenza Pubblica BETA (LPB)

BETA La rivista ipertestuale tecnica (http://www.beta.it/beta)email info@beta.it
BETA: Frontespizio | Abbonamenti | Redazione | Liste/Forum | Indici | Guida | Copyright