Python: imprimiendo un archivo a stdout

He buscado y solo puedo encontrar preguntas al revés: escribir stdin en un archivo 🙂

¿Hay una manera rápida y fácil 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 el truco.

 with open(fname, 'r') as fin: print fin.read() 

Si es un archivo grande y no desea consumir una tonelada de memoria como podría ocurrir 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) 

tambien funciona

 f = open('file.txt', 'r') print f.read() f.close() 

De http://docs.python.org/tutorial/inputoutput.html

Para leer el contenido de un archivo, llame a f.read (tamaño), que lee cierta cantidad de datos y los devuelve como una cadena. tamaño es un argumento numérico opcional. Cuando se omite el tamaño o es negativo, se leerá y devolverá todo el contenido del archivo; es su problema si el archivo es dos veces más grande que la memoria de su máquina. De lo contrario, en la mayoría de los bytes de tamaño se leen y devuelven. Si se ha llegado al final del archivo, f.read () devolverá una cadena vacía (“”).

Mi versión abreviada en Python3

 print(open('file.txt').read()) 

también puedes probar esto

print ''.join(file('example.txt'))

Puedes probar esto.

 txt =  txt_opn = open(txt) print txt_opn.read() 

Esto le dará salida de archivo.