He buscado y solo puedo encontrar preguntas al revés: escribir stdin en un archivo :)
¿Existe una forma rápida y sencilla de volcar el contenido de un archivo a la salida estándar?
Por supuesto. Suponiendo que tiene una cadena con el nombre del archivo llamado fname
, lo siguiente es suficiente.
with open(fname, 'r') as fin:
print(fin.read())
print(fin.read(), end="")
. Para aprovechar esa solución en Python 2,from __future__ import print_function
se necesitará un prefijo . Por supuesto, las aplicaciones de Python 2 siempre deben usar laprint()
función de Python 3 de todos modos, por lo que no es una gran carga.Si es un archivo grande y no desea consumir una tonelada de memoria como podría suceder con la solución de Ben, el código adicional en
>>> import shutil >>> import sys >>> with open("test.txt", "r") as f: ... shutil.copyfileobj(f, sys.stdout)
también funciona.
fuente
f = open('file.txt', 'r') print f.read() f.close()
De http://docs.python.org/tutorial/inputoutput.html
fuente
Mi versión abreviada en Python3
print(open('file.txt').read())
fuente
también puedes probar esto
print ''.join(file('example.txt'))
fuente
Puedes probar esto.
txt = <file_path> txt_opn = open(txt) print txt_opn.read()
Esto le dará la salida del archivo.
fuente
Si necesita hacer esto con el
pathlib
módulo, puede usarpathlib.Path.open()
para abrir el archivo e imprimir el texto desderead()
:from pathlib import Path fpath = Path("somefile.txt") with fpath.open() as f: print(f.read())
O simplemente llame
pathlib.Path.read_text()
:from pathlib import Path fpath = Path("somefile.txt") print(fpath.read_text())
fuente
Para mejorar la respuesta de @ bgporter, con Python-3 probablemente querrá operar en bytes en lugar de convertir cosas innecesariamente a utf-8:
>>> import shutil >>> import sys >>> with open("test.txt", "rb") as f: ... shutil.copyfileobj(f, sys.stdout.buffer)
fuente