Eu pesquisei e só consigo encontrar perguntas sobre o contrário: escrever stdin em um arquivo :)
Existe uma maneira rápida e fácil de despejar o conteúdo de um arquivo no stdout?
Certo. Supondo que você tenha uma string com o nome do arquivo chamado fname
, o seguinte resolve.
with open(fname, 'r') as fin:
print(fin.read())
print(fin.read(), end="")
. Para aproveitar essa solução no Python 2, um prefixofrom __future__ import print_function
será necessário. Claro, os aplicativos Python 2 devem sempre usar aprint()
função Python 3 de qualquer maneira - então isso não é um fardo.Se for um arquivo grande e você não quiser consumir uma tonelada de memória, como pode acontecer com a solução de Ben, o código extra em
>>> import shutil >>> import sys >>> with open("test.txt", "r") as f: ... shutil.copyfileobj(f, sys.stdout)
também funciona.
fonte
f = open('file.txt', 'r') print f.read() f.close()
De http://docs.python.org/tutorial/inputoutput.html
fonte
Minha versão abreviada em Python3
print(open('file.txt').read())
fonte
você também pode tentar isso
print ''.join(file('example.txt'))
fonte
Você pode tentar isso.
txt = <file_path> txt_opn = open(txt) print txt_opn.read()
Isso fornecerá saída de arquivo.
fonte
Se precisar fazer isso com o
pathlib
módulo, você pode usarpathlib.Path.open()
para abrir o arquivo e imprimir o texto deread()
:from pathlib import Path fpath = Path("somefile.txt") with fpath.open() as f: print(f.read())
Ou simplesmente ligue
pathlib.Path.read_text()
:from pathlib import Path fpath = Path("somefile.txt") print(fpath.read_text())
fonte
Para melhorar a resposta de @bgporter, com Python-3 você provavelmente desejará operar em bytes em vez de converter coisas desnecessariamente para utf-8:
>>> import shutil >>> import sys >>> with open("test.txt", "rb") as f: ... shutil.copyfileobj(f, sys.stdout.buffer)
fonte