
Eu sou um novo usuário do Linux. Eu escrevi um programa Python com um loop que é executado 10 vezes e imprime uma linha de cada vez. Salvei como print.py Agora quero usar o terminal para garantir que a impressão seja salva em um novo arquivo.
O código que uso é:
counter = 1
while counter <= 10:
print("This is line", counter)
counter = counter +1
Porém, não sei como passar do programa que salvei como print.py via terminal para um novo arquivo "resultado".
Responder1
Você pode redirecionar a saída do seu programa usando o operador >. A saída é então gravada no arquivo fornecido em vez do terminal:
python3 printing.py > result
Observe que o texto não é anexado, mas substitui o conteúdo atual do arquivo. Se você quiser anexar a saída ao arquivo, use o operador >>.
Também existe uma maneira de obter a saída no terminaleno arquivo, para que você possa ver o que está acontecendo. Basta canalizar a saída para o comandocamisetae ele irá imprimi-lo no seu terminal e no arquivo. Você pode imaginar este comando como um tubo em forma de T que redireciona sua entrada para duas saídas.
python3 printing.py | tee result
Novamente, isso substituirá o conteúdo atual do seu arquivo.
Responder2
Copie e cole o seguinte em um arquivo test.py
#!/usr/bin/env python3
#
counter = 1
while counter <= 10:
print("This is line", counter)
counter = counter + 1
Agora execute os comandos
chmod +x test.py
./test.py > output.txt
A saída deve ser
This is line 1
This is line 2
This is line 3
This is line 4
This is line 5
This is line 6
This is line 7
This is line 8
This is line 9
This is line 10