He buscado y sólo puedo encontrar las preguntas sobre el revés: escribir la entrada estándar a un archivo :)Python: imprimir un archivo de salida estándar
¿Hay una manera rápida y fácil de volcar el contenido de una archivo a stdout?
He buscado y sólo puedo encontrar las preguntas sobre el revés: escribir la entrada estándar a un archivo :)Python: imprimir un archivo de salida estándar
¿Hay una manera rápida y fácil de volcar el contenido de una archivo a stdout?
Sure. Suponiendo que tiene una cadena con el nombre del archivo llamado fname
, el siguiente es el truco.
with open(fname, 'r') as fin:
print fin.read()
f = open('file.txt', 'r')
print f.read()
f.close()
De http://docs.python.org/tutorial/inputoutput.html
en leer el contenido de un archivo, llame f.read (tamaño), que lee una cierta cantidad de datos y los devuelve como una cadena. el tamaño es un argumento numérico opcional. Cuando se omite el tamaño o es negativo, se leerá y se 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 ("").
Si es un archivo de gran tamaño y que no quieren consumir una tonelada de memoria como podría suceder con una solución de Ben, el código extra en
>>> import shutil
>>> import sys
>>> with open("test.txt", "r") as f:
... shutil.copyfileobj(f, sys.stdout)
también funciona.
Puede intentar esto.
txt = <file_path>
txt_opn = open(txt)
print txt_opn.read()
Esto le dará salida de archivo.
también se puede probar este
print ''.join(file('example.txt'))
Mi versión abreviada en python3
print(open('file.txt').read())
Funciona perfecto gracias – MDMoore313
Tenga en cuenta que esto añadirá una nueva línea adicional al final de la salida. –
Para compatibilidad con Python 3 _y_ evitando la nueva línea final, la última línea probablemente debería decir: 'print (fin.read(), end =" ")'. Para aprovechar esa solución en Python 2, se necesitará un prefijo 'from __future__ import print_function'. Por supuesto, las aplicaciones de Python 2 siempre deben usar la función 'print()' de Python 3 de todos modos, así que no es una gran carga. –