Comando Head
Descripción
Crea una función que haga lo mismo que el comando de terminal head
. Debe de tomar como argumentos el nombre de un archivo a leer, el número de líneas a leer, y el nombre de el archivo al cuál escribir esas líneas. Si el tercer parámetro es None
, en lugar de escribir a un archivo.
Puedes solicitar ayuda a un asistente virtual, pero si lo haces dile que no use las instrucciones with
ni try
.
Ejemplo de Ejecución:
head('test-input.txt', 4)
test
is
a
test
head('test-input.txt', 4, 'test-output.txt') # el archivo test-output contendrá las líneas impresas arriba
Solución
Mostrar solución
def head(input_file, line_count, output_file):
in_file = open(input_file, 'r')
out_file = None
if output_file is not None:
out_file = open(output_file, 'w')
for i in range(line_count):
if out_file is not None:
out_file.write(in_file.readline())
else:
print(in_file.readline(), end='')
in_file.close()
if out_file is not None:
out_file.close()
head('test-input.txt', 4, None)
head('test-input.txt', 4, 'test-output.txt')
Fuente del ejercicio: https://allendowney.github.io/ThinkPython/chap08.html#exercise