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?
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?
Respuestas:
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_functionse necesitará un prefijo . Por supuesto, las aplicaciones de Python 2 siempre deben usar la print()función de Python 3 de todos modos, por lo que no es una gran carga.
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. size es un argumento numérico opcional. Cuando el tamaño se omite 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, se leen y devuelven bytes como máximo. Si se ha llegado al final del archivo, f.read () devolverá una cadena vacía ("").
Si necesita hacer esto con el pathlibmódulo, puede usar pathlib.Path.open()para abrir el archivo e imprimir el texto desde read():
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())