ecco un semplice esempio:
[archie@geek ~]$ python
Python 2.6.2 (r262:71600, Jun 4 2010, 18:28:04)
[GCC 4.4.3 20100127 (Red Hat 4.4.3-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> freeze = sys.stdout #variabile per riassegnare in seguito lo stdout
>>> sys.stdout = open('reg.txt', 'a') #redirezione dell' output al file : modo accodamento
>>> print 'bytes scritti su file'
#scrive il file su disco e lo chiude
>>> sys.stdout.close()
>>> sys.stdout = freeze #riassegna lo stdout originario
>>> print 'sono nel terminale'
sono nel terminale
>>> print open('reg.txt').read()
bytes scritti su file #print dal file su disco
redirigere l' output ad un' oggetto di tipo file tramite " >> ":
>>> file = open('reg.txt', 'w') #l' oggetto file
>>> print >> file, 'rediretto su file' #stampa su file
>>> file.close()
>>> print 'sono nel terminale' #ritorna al terminale
sono nel terminale
>>> print open('reg.txt').read() #print dal file su disco
rediretto su file
questo metodo di utilizzare lo stream dell' output, può rivelarsi particolarmente utile con sys.stderr nel redirigere l'output in un file tramite " >> " e visualizzare eventuali messaggi di errore.




0 commenti:
Posta un commento