Mi chiedevo cosa significhi print >> dbfile, key
in python. Che cosa deve fare il >>
?Significato di >> in print statement
risposta
Si noti che la sintassi >>
è specifica per Python 2.x. In Python 3.x, che la sintassi va e codice deve essere modificato come segue:
print >>f, "Hello world" # Python 2.x
print("Hello world", file=f) # Python 3.x
Penso che mi piaccia la sintassi di python 3 perché sembra più pulita – David
Anche la seconda sintassi sembra funzionare se si utilizza 'da __future__ import print_function' in Python 2.7. [La documentazione di '' __future__'] (https://docs.python.org/2/library/__future__.html) indica che è disponibile per 2.6.0a2 e versioni successive. – jpmc26
Questo reindirizza print
in un file (in questo caso, dbfile
).
il >>
è solo una sintassi speciale utilizzata per questo.
Vedere “The print
statement” nel riferimento del linguaggio Python. L'oggetto indicato deve avere un metodo write
.
Incidentalmente, questo è considerato uno dei pezzi ickier della sintassi di Python. Se si preferisce che 'print' funzioni come ogni altra funzione, è possibile inserire' da __future__ import print_function' nella parte superiore del codice per utilizzare il comportamento più recente. – katrielalex
Questa dichiarazione '__future__' funziona in 2.6.0a2 e successive, attenzione. http://docs.python.org/library/__future__.html –