Python - Duda con un programa en python

 
Vista:
sin imagen de perfil

Duda con un programa en python

Publicado por Laura (2 intervenciones) el 26/12/2022 14:17:30
Hola buenas tardes,

Me llamo Laura y tengo unas dudas con 2 ejercicios que estoy realizando. Llevo ya varios hechos y que están bien, pero en estos 2 ando algo bloqueada:

1) Escriba un programa que lea las N primeras líneas de un fichero y las guarde en otro. Los nombres de los ficheros, así como el número de líneas, se introducirán por teclado.

He probado con algo tal que así:

ficheroinicial = input('¿Cómo se llama el fichero origen? Incluya extensión.:')
lineas = input('¿Cuantas líneas desea seleccionar?.:')
ficherofinal = input('¿Y el de destino? Incluya extensión también.:')

with open(ficheroinicial, 'r') as origen:
with open(ficherofinal, 'w') as destino:
x = int(lineas)
destino.writelines(origen.readlines(x))

Pero no me sale :(

El otro ejercico tampoco me sale y seria parecido:

2) Escriba un programa que lea de un fichero una serie de números, el fichero será de texto y contendrá un número por línea. Para los números leídos eliminará el primer y último elementos y mostrará el resto por pantalla. El nombre del fichero se introducirá por teclado.

Espero que me puedan ayudar a ver que error tengo en el 1 y resolver el 2 porfiplis :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Duda con un programa en python

Publicado por Francisco Javier (313 intervenciones) el 26/12/2022 15:43:57
1
2
3
4
5
6
7
8
9
10
11
import io
 
ficheroinicial = input('¿Cómo se llama el fichero origen? Incluya extensión.:')
lineas = int(input('¿Cuantas líneas desea seleccionar?.:'))
ficherofinal = input('¿Y el de destino? Incluya extensión también.:')
 
fichero_origen=open(ficheroinicial, 'r')
fichero_destino=open(ficherofinal, 'w')
lista_lineas=fichero_origen.readlines()
for i in range (lineas):
    fichero_destino.write(lista_lineas[i])
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Duda con un programa en python

Publicado por Francisco Javier (313 intervenciones) el 26/12/2022 16:08:04
En tu codigo lo puedes arreglar así:
1
2
3
4
5
6
7
8
9
10
11
12
import io
 
ficheroinicial = input('¿Cómo se llama el fichero origen? Incluya extensión.:')
lineas = int(input('¿Cuantas líneas desea seleccionar?.:'))
ficherofinal = input('¿Y el de destino? Incluya extensión también.:')
 
with open(ficheroinicial, 'r') as origen:
    with open(ficherofinal, 'w') as destino:
        lista=origen.readlines()
        while lineas>0:
            destino.write(lista[lineas])
            lineas-=1
A la hora de pedir lineas pidelo como entero así te ahorras la variable x.
recuerda que al pedir :
1
origen.readlines()
Lo que te devuelve es una lista con la que puedes luego operar como quieras.
Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Duda con un programa en python

Publicado por Laura (2 intervenciones) el 26/12/2022 19:15:10
Muchas gracias! y sii el tema de la x me da mas tranquilidad a nivel visual pero tambien da problemas si no lo hago bien... de nuevo gracias y feliz navidad :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar