Consider this:
with open('file.txt', 'w') as f:
print('Hola', file=f)
print('voy', file=f)
print('a', file=f)
print('imprimir', file=f)
print('muchas', file=f)
print('líneas', file=f)
print('acá', file=f)
Is it possible to avoid reference to f in each line? Something like:
with open('file.txt', 'w') as f:
with redirect_print_to(f):
print('Hola')
print('voy')
print('a')
print('imprimir')
print('muchas')
print('líneas')
print('acá')
Advertisement
Answer
THis looks like task for contextlib.redirect_stdout, example usage
import contextlib
with open('file.txt', 'w') as f:
with contextlib.redirect_stdout(f):
print('Hello')
print('World')
print('!')
Warning: requires python3.4 or newer