Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Tema 5 - Python - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 11 de marzo de 2026 por Alberto S.

2 visualizaciones

Descargar la transcripción

Bueno, pues aquí estamos un día más en nuestro módulo de Python, ¿verdad? Estamos ya a unidad 5. Ya nos queda poquito, porque si veis aquí, la unidad 5 va del 5 de marzo al 16 de abril. 00:00:00
Y luego ya empezamos con programación en unidad de objetos, encapsulación, herencia, polimorfismo, que va a ser muy interesante y entretenido, ya veréis. 00:00:15
Pero vamos, que ya prácticamente está todo hecho 00:00:23
Este tema pues va de ficheros 00:00:27
No de cómo leer y escribir en ficheros, bastante sencillito 00:00:31
Pues he subido aquí un código plano 00:00:34
Que tendréis que copiarlo en un Visual Studio Code 00:00:37
O en el IDE que estáis utilizando 00:00:41
¿Vale? 00:00:43
Aparte de eso... 00:00:44
Ay, perdonad, vamos a por otra vez 00:00:46
Como veis, aquí hago referencia a una serie de ficheros 00:00:47
registros.txt, datos.vim, archivo.txt, prueba.txt. 00:00:51
Claro, estos ficheros tendréis que tenerlos, porque si no os va a dar error de que no consiga abrirlos. 00:01:01
¿De acuerdo? 00:01:12
vale 00:01:13
yo creo que esto de datos.bin 00:01:16
lo vamos a sustituir por registros.txt 00:01:20
luego lo 00:01:22
lo adapto 00:01:23
vale, yo ya por mi parte 00:01:25
lo tengo aquí, veis 00:01:28
que tengo aquí el código 00:01:29
en .py 00:01:31
y luego los ficheros 00:01:34
de acuerdo, para que veamos 00:01:35
como se van cambiando y tal 00:01:37
entonces vamos a abrirlo 00:01:39
verdad que se abre aquí open folder y lo tengo aquí así que genial y es 00:01:42
interesante ozor 00:01:55
lo tenemos aquí entonces hemos dicho que vamos a cambiarle aquí registros se lo 00:01:59
vamos a poner aquí mejor y así no tenemos que hacer más cosillas 00:02:05
Vale, pues vamos a explicar un poco el código que os he dejado como ejemplo 00:02:11
que os va a servir para que sepáis un poco de qué va el tema 00:02:18
obviamente podréis profundizar mucho más en los contenidos 00:02:23
pero bueno, aquí importa esta librería que nos va a dar algunas funcionalidades 00:02:26
que están bien a la hora de manejar ficheros 00:02:32
Pero bueno, lo importante es que controlemos esto de cómo abrirlos y los modos de apertura y cómo posicionar el puntero, que es como si fuera el cursor dentro del fichero para ir modificando y demás. 00:02:34
Entonces, ¿cómo abriríamos un fichero en otro idioma más estándar que Python? 00:02:52
Tendríamos una variable así como de file, que sería como un input o algo así, un file input. 00:03:03
entonces le decimos que abra 00:03:14
el fichero de pruebas.txt 00:03:19
por ejemplo 00:03:21
en modo lectura 00:03:22
con este encoding 00:03:24
entonces 00:03:26
con el fichero le decimos que lea 00:03:28
las líneas del fichero 00:03:31
y la mete en una lista 00:03:32
que la metemos en la variable 00:03:35
líneas, luego lo imprimimos 00:03:37
y luego lo cerramos 00:03:39
¿vale? una apertura 00:03:41
y un cierre 00:03:43
Pero esto funciona en Python, ¿vale? Pero no es como se hace normalmente, no es como se gestionan ficheros normalmente, ¿vale? Simplemente os lo he puesto para que veáis que lo que se hace en otros lenguajes sí que se puede hacer aquí también. 00:03:44
es un rollo eso de ahora lo abro 00:04:02
cuando termine de utilizar el fichero lo tengo que cerrar 00:04:05
si no lo dejo abierto y es ineficiente 00:04:08
lo que hacemos con el width es que tú lo abres aquí 00:04:11
y cuando se termine todo lo que está haciendo dentro del width 00:04:14
lo va a cerrar automáticamente 00:04:18
entonces nos ahorramos eso de tener que pensar 00:04:19
si el fichero está abierto, si estoy haciendo cosas 00:04:22
si lo cierro aquí y luego lo voy a tener que volver a abrir 00:04:25
me va a consumir recursos, no, ¿vale? 00:04:28
Utilizamos el width para abrirlo. Hacemos lo que tengamos que hacer y cuando ya salgamos del width se cierra automáticamente. Entonces es como mucho más cómodo. 00:04:32
Entonces, acceso secuencial. Ponemos width open, el nombre del fichero, modo lectura y el encoding que utilizamos y lo guardamos en la variable file. 00:04:44
Bueno, en este caso F, ¿no? 00:04:56
Lo puedes llamar como quieras 00:04:59
Archivo, fichero, texto, lo que quieras 00:05:01
Y luego simplemente pues lo recorremos con unas líneas 00:05:03
¿Vale? Esto de strip es para quitar espacios 00:05:07
Pero bueno, lo puedes borrar igualmente 00:05:11
¿Qué más? 00:05:14
Acceso aleatorio 00:05:16
Esto significa que vamos a acceder a las posiciones que a nosotros nos interesen 00:05:17
¿Vale? 00:05:23
Para mover el puntero utilizamos la función seek. Aquí lo que estamos haciendo es moverlo a la posición 10 y luego leer 5 posiciones del fichero de registros txt. 00:05:24
Vamos a echarle un ojo. 00:05:35
Entonces, simplemente tengo esta frase y lo que hemos dicho es que nos movemos 10 posiciones, 1, 2, 3, 4, 5, 6, 7, 8, 9 y 10, hasta aquí. 00:05:41
Y de aquí leemos 5. 1, 2, 3, 4 y 5. Así que lo que va a salir es mos espacio p. Vamos a darle un tiento. A ver si acciona. Exacto, aquí lo tenemos. Mos espacio p. 00:05:51
Aquí ha leído la línea de fichero porque la hemos abierto en modo lectura y aquí hemos accedido a las posiciones que nos han interesado. 00:06:08
¿Qué más? Acceso controlado. Aquí es donde utilizamos la librería esta de OS. Si indagáis un poco veréis que tenéis muchas más aplicaciones, muchas más funcionalidades que podéis utilizar si en algún momento lo necesitáis. 00:06:19
Le podéis echar un vistazo. Y aquí lo que hacemos es, cuando digo acceso controlado, es que si, por ejemplo, no podéis abrir el fichero porque el fichero no existe o porque os da algún error de escritura, de lectura, de apertura, no os va a sacar aquí un error de compilación. 00:06:42
Sino que tenéis la posibilidad de, a través del else, sacar como una especie de excepción y decirle, mira, que hay algo fallado. Es como más profesional, digamos. Entonces, para acceder con la librería OS, ponemos access, el nombre del fichero y el modo de escritura en este caso. 00:07:01
Entonces, luego utilizamos el width idéntico a como lo hemos utilizado aquí. La única diferencia que tenemos aquí es que utilizamos el append. Y aquí leemos bit con bytes también. Esto está muy bien explicado en el contenido, lo podéis echar un ojo. 00:07:25
Si tenéis alguna duda pues ya me comentáis. A es de append. Esto quiere decir que no va a sobreescribir sino que va a añadir. 00:07:47
Entonces aquí estamos añadiendo nueva línea protegida. Si lo ejecuto siete veces, pues cuando me meta en archivos.txt va a haber siete veces nueva línea protegida. 00:07:57
¿Vale? De hecho no sé si ya lo ejecuto alguna vez 00:08:09
A ver, se llamó archivo 00:08:13
Archivo txt 00:08:15
¿Ves? Aquí ya está dos veces 00:08:17
Si lo ejecuto una tercera vez 00:08:19
Ya hay una nueva línea 00:08:21
¿Vale? Eso es el append 00:08:23
Y luego 00:08:25
El operador este más 00:08:28
¿Vale? Aquí lo que estamos diciendo es que 00:08:30
Lo abrimos en modo lectura 00:08:33
Pero también en escritura con el más 00:08:35
Entonces, hacemos lo mismo, ¿no? Le decimos el nombre del fichero. Tenéis que tener en cuenta de que aquí lo está encontrando porque yo me he situado dentro de la carpeta, ¿de acuerdo? 00:08:37
Si, por ejemplo, abriera directamente el código, no lo encontraría porque yo estoy a la altura del código. Pero como me he situado a la altura de la carpeta, ya ve el código, puede ver todo lo que está dentro de la carpeta. 00:08:54
Y por eso no le tengo que meter una ruta absoluta de C, dos puntos barra, archivos de programa, barra Python, barra código, para que encuentre estos ficheros de texto. 00:09:09
Sino que puedo utilizar la ruta relativa de esta manera porque ya le digo que el archivo está dentro de esta carpeta. 00:09:24
¿De acuerdo? Entonces hemos dicho que con el R más es modo lectura-escritura. Entonces aquí lo que hacemos es leer el contenido del fichero, separamos por líneas, porque si tiene varias líneas que están separadas por salto de carro, con el split lo separamos en una lista de líneas. 00:09:32
Y aquí con el tel lo que decimos es que le preguntamos en qué posición está el puntero. En este caso está en la 113. Entonces podemos ver que el fichero tiene 113 carácteres porque lo hemos leído entero. 00:09:57
Luego, sacamos las líneas, que son estas de aquí, imprimimos la posición, que es la 113, como hemos dicho antes, y escribimos. 00:10:14
Cambiamos el contenido. 00:10:29
Y entonces, ¿por qué esto es equivalente a un append? 00:10:31
¿Verdad? Porque si nos metemos en el fichero de prueba, veis que ya se ha añadido varias veces al final. 00:10:36
Porque ya lo he ejecutado tres veces. 00:10:46
si lo quito 00:10:48
lo guardamos y lo volvemos a ejecutar 00:10:51
ya veis que está en vez de la 113 la 69 00:10:56
porque ya tiene menos caracteres 00:11:01
entonces si lo ejecuto solo aparece una vez 00:11:03
esto pasa porque yo he dejado el puntero aquí 00:11:05
entonces cuando le digo que escriba 00:11:09
va a escribir en el siguiente carácter 00:11:13
vale, por eso no sobreescribe 00:11:15
porque ya lo hemos leído antes 00:11:18
Y cada vez que lees el fichero, el cursor se va moviendo. Por eso cuando utilizo aquí el TEL y me pone la línea está en la 69. 00:11:20
Y si nosotros contáramos, seguramente la 69 sea justo esta posición. 00:11:30
Entonces, por eso, como el cursor se queda ahí, cuando le hago un WRITE, escribe desde ahí. 00:11:40
¿De acuerdo? Y poco más realmente porque al final tenemos que aprender a cómo abrir ficheros, a que con el width no hace falta cerrarlo como haríamos de esta manera. 00:11:47
Podemos investigar un poco con las funcionalidades de la librería OS, pero vamos, que el control de acceso es lo más importante y ya sabéis que se puede entrar como lectura, escritura, lectura, escritura, se puede añadir, hay que tener cuidado de no sobreescribir y tener conciencia de que tenemos un cursor, un puntero, que podemos manipular. 00:12:03
Podemos posicionar donde lo necesitemos, ¿no? Entonces podemos ir recorriendo el fichero en busca de una palabra, por ejemplo, y cuando encontramos esa palabra, pues cambiarla. 00:12:29
O, no sé, se me ocurre, por ejemplo, un programa de encriptado para cifrar, ¿no? Y cuando encuentre una vocal que le ponga 20 letras más adelante del abecedario, por ejemplo. 00:12:41
Pues eso se podría hacer con un cursor de esta manera. Y también daros cuenta de eso, que aquí por ejemplo estamos utilizando registros.txt, lo estamos abriendo, si no existe va a petar, va a dar un fallo porque no estamos utilizando aquí la funcionalidad de la librería OS. 00:12:56
Si no, pues nos daría un mensaje de error. Pero que cuando ejecutáis este código tenéis que tener criados estos archivos. Y si tenéis que leer, pues meterle algo de texto. 00:13:19
¿De acuerdo? Y ya está. Ya con eso, para el próximo tema ya miraremos programación orientada a objetos y herencia y polimorfismo, todas estas cosas que son muy importantes y le dedicaremos bastante más tiempo. 00:13:35
Así que nada, tema facilito y light para que os relajéis estos días y le podáis meter un poco de apretón a todo lo demás. Así que nada, muchas gracias por atender y nos vemos en el siguiente tema. Adiós. 00:13:51
Materias:
Tecnología
Etiquetas:
Innovación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado básico
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado medio
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Subido por:
Alberto S.
Licencia:
Reconocimiento - Compartir igual
Visualizaciones:
2
Fecha:
11 de marzo de 2026 - 17:33
Visibilidad:
Público
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Duración:
00′ 10″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
48.76 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid