Redirecionar a saída de impressão para um arquivo em Python
-
Use a função
write()
para imprimir a saída para um arquivo em Python -
Use a função
print()
para imprimir a saída para um arquivo em Python -
Use
sys.stdout
para imprimir a saída para um arquivo em Python -
Use a função
contextlib.redirect_stdout()
para imprimir a saída para um arquivo em Python
Existe mais um tipo de tarefa no manuseio de arquivos que pode ser realizada usando python, ou seja, redirecionar a saída para um arquivo externo. Basicamente, uma saída padrão pode ser impressa em um arquivo escolhido pelo próprio usuário. Existem muitas maneiras de fazer isso.
Neste tutorial, veremos alguns métodos para redirecionar a saída para um arquivo em Python.
Use a função write()
para imprimir a saída para um arquivo em Python
Esta é uma função Python embutida que ajuda a escrever ou adicionar um texto especificado em um arquivo. w
e a
são as 2 operações nesta função que irão escrever ou adicionar qualquer texto em um arquivo. w
é usado quando o usuário deseja esvaziar o arquivo antes de escrever qualquer coisa nele. Considerando que a
é usado quando o usuário deseja apenas adicionar algum texto ao texto existente no arquivo.
Exemplo:
with open("randomfile.txt", "a") as o:
o.write("Hello")
o.write("This text will be added to the file")
Observe que a função open()
é usada aqui para abrir o arquivo. a
no código indica que o texto foi adicionado ao arquivo.
Use a função print()
para imprimir a saída para um arquivo em Python
Neste método, primeiro chamamos a função open()
para abrir o arquivo desejado. Depois disso, a função print()
é usada para imprimir o texto no arquivo. É sempre a escolha do usuário usar o operador w
ou o operador a
.
Exemplo:
with open("randomfile.txt", "w") as external_file:
add_text = "This text will be added to the file"
print(add_text, file=external_file)
external_file.close()
Observe que a função close()
também é usada para fechar o arquivo no código acima após abri-lo com open()
. Depois de chamar a função close()
, o arquivo não pode ser lido e nada mais pode ser escrito. Se o usuário tentar fazer qualquer alteração no arquivo após chamar a função close()
, um erro será gerado.
Use sys.stdout
para imprimir a saída para um arquivo em Python
O módulo sys
é um módulo Python embutido que é usado pelo usuário para lidar com várias partes do ambiente de execução em Python. Para usar o sys.stdout
, o módulo sys
deve ser importado primeiro.
sys.stdout
é usado quando o usuário deseja exibir a saída diretamente no console principal da tela. A forma da saída pode ser variada, por exemplo, pode ser um prompt de entrada, uma instrução de impressão ou apenas uma expressão. Neste método, imprimiremos uma declaração em um arquivo de texto.
Exemplo:
import sys
file_path = "randomfile.txt"
sys.stdout = open(file_path, "w")
print("This text will be added to the file")
Observe que antes de usar sys.stdout
como um objeto para abrir e imprimir a instrução no arquivo de texto, um caminho definitivo do arquivo deve ser definido pelo usuário, caso contrário, nenhuma das operações pode ser executada no arquivo.
Use a função contextlib.redirect_stdout()
para imprimir a saída para um arquivo em Python
O módulo contextlib
geralmente é usado com a instrução with
.
A função contextlib.redirect_stdout()
ajuda a redirecionar o sys.stdout
para algum arquivo temporariamente configurando um gerenciador de contexto.
Exemplo:
import contextlib
file_path = "randomfile.txt"
with open(file_path, "w") as o:
with contextlib.redirect_stdout(o):
print("This text will be added to the file")
Como você pode ver, a instrução with
é usada com as operações do módulo contextlib
.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn