
Soy un nuevo usuario de Linux. He escrito un programa Python con un bucle que se ejecuta 10 veces e imprime una línea cada vez. Lo guardé como print.py. Ahora quiero usar la terminal para asegurarme de que la impresión se guarde en un archivo nuevo.
El código que uso es:
counter = 1
while counter <= 10:
print("This is line", counter)
counter = counter +1
Sin embargo, no sé cómo pasar del programa que guardé como print.py a través de la terminal a un nuevo archivo "resultado".
Respuesta1
Puede redirigir la salida de su programa utilizando el operador >. Luego, la salida se escribe en el archivo dado en lugar de en la terminal:
python3 printing.py > result
Tenga en cuenta que el texto no se agrega, sino que reemplaza el contenido actual del archivo. Si desea agregar la salida al archivo, use el operador >>.
También hay una manera de obtener la salida en el terminal.yen el archivo, para que puedas ver lo que está sucediendo. Simplemente canalice la salida al comandoteey lo imprimirá en su terminal y en el archivo. Puedes imaginar este comando como un tubo en forma de T que redirige su entrada a dos salidas.
python3 printing.py | tee result
Nuevamente, esto sobrescribirá el contenido actual de su archivo.
Respuesta2
Copie y pegue lo siguiente en un archivo test.py
#!/usr/bin/env python3
#
counter = 1
while counter <= 10:
print("This is line", counter)
counter = counter + 1
Ahora ejecuta los comandos
chmod +x test.py
./test.py > output.txt
La salida debe 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