PDF de programación - Introducción al uso de ficheros

<<>>
Imágen de pdf Introducción al uso de ficheros

Introducción al uso de ficherosgráfica de visualizaciones

Publicado el 14 de Enero del 2019
761 visualizaciones desde el 14 de Enero del 2019
116,1 KB
5 paginas
Introducción al uso de ficheros

En nuestros programas, estamos acostumbrados a utilizar un gran
número de datos, tanto como datos de entrada como datos de salida.

Es sencillo manejar los datos de manera interactiva, pero cuando
tenemos una gran cantidad de datos, esto se puede volver incómodo.
Podemos leer y almacenar los datos de manera permanente, utilizando
ficheros (https://docs.python.org/2/library/stdtypes.html#file­objects).

Asumimos que en mismo directorio donde se ejecuta el programa que
contiene la instrucción open se encuentra un fichero del sistema de
directorios que se llama texto.txt

In [1]: f = open('texto.txt','r')

In [2]: f.readline()

Out[2]: 'Lorem ipsum dolor sit amet, consetetur sadipscing e
litr, sed diam nonumy eirmod tempor invidunt ut lab
ore et dolore magna aliquyam erat, sed diam voluptua
. At vero eos et accusam et justo duo dolores et ea
rebum. Stet clita kasd gubergren, no sea takimata sa
nctus est Lorem ipsum dolor sit amet. Lorem ipsum do
lor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et dolore m
agna aliquyam erat, sed diam voluptua. At vero eos e
t accusam et justo duo dolores et ea rebum. Stet cli
ta kasd gubergren, no sea takimata sanctus est Lorem
ipsum dolor sit amet. Lorem ipsum dolor sit amet, c
onsetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam e
rat, sed diam voluptua. At vero eos et accusam et ju
sto duo dolores et ea rebum. Stet clita kasd gubergr
en, no sea takimata sanctus est Lorem ipsum dolor si
t amet.\n'

In [3]: f.close() ## Cuando se deja de usar un fichero, hay qu

e cerrarlo

Con readline() leemos el fichero línea a línea.

In [6]: f = open('maneras.txt', 'r')

linea = f.readline()
i = 1

while linea != '':
print i, linea
linea = f.readline()
i += 1

1 No pienses que estoy muy triste

2 si no me ves sonreir

3 es símplemente despiste

4 maneras de vivir.

5 Me sorprendo del bullicio

6 y ya no sé qué decir

7 cambio las cosas de sitio

8 maneras de vivir.

9 Voy cruzando el calendario

10 con igual velocidad

11 subrayando en mi diario

12 muchas páginas.

13 Te busco y estás ausente

14 te quiero y no es para ti

15 a lo mejor no es decente

16 maneras de vivir.

17 Voy aprendiendo el oficio

18 olvidando el porvenir

19 me quejo sólo de vicio

20 maneras de vivir.

21 No sé si estoy en lo cierto

22 lo cierto es que estoy aquí

23 otros por menos se han muerto

24 maneras de vivir.

In [7]: f.close()

De hecho, el fichero se comporta un poco como una lista.

In [8]: f = open('maneras.txt', 'r')

for linea in f:
print linea.strip()


No pienses que estoy muy triste
si no me ves sonreir
es símplemente despiste
maneras de vivir.
Me sorprendo del bullicio
y ya no sé qué decir
cambio las cosas de sitio
maneras de vivir.
Voy cruzando el calendario
con igual velocidad
subrayando en mi diario
muchas páginas.
Te busco y estás ausente
te quiero y no es para ti
a lo mejor no es decente
maneras de vivir.
Voy aprendiendo el oficio
olvidando el porvenir
me quejo sólo de vicio
maneras de vivir.
No sé si estoy en lo cierto
lo cierto es que estoy aquí
otros por menos se han muerto
maneras de vivir.

In [9]: f.close()

De hecho podemos leer todo en una lista utilizando readlines()

In [10]: f = open('maneras.txt', 'r')

lista = f.readlines()
print type(lista), len(lista)

<type 'list'> 24

In [11]: print lista

['No pienses que estoy muy triste\n', 'si no me ves
sonreir\n', 'es s\xc3\xadmplemente despiste\n', 'man
eras de vivir.\n', 'Me sorprendo del bullicio\n', 'y
ya no s\xc3\xa9 qu\xc3\xa9 decir\n', 'cambio las co
sas de sitio\n', 'maneras de vivir.\n', 'Voy cruzand
o el calendario\n', 'con igual velocidad\n', 'subray
ando en mi diario\n', 'muchas p\xc3\xa1ginas.\n', 'T
e busco y est\xc3\xa1s ausente\n', 'te quiero y no e
s para ti\n', 'a lo mejor no es decente\n', 'maneras
de vivir.\n', 'Voy aprendiendo el oficio\n', 'olvid
ando el porvenir\n', 'me quejo s\xc3\xb3lo de vicio\
n', 'maneras de vivir.\n', 'No s\xc3\xa9 si estoy en
lo cierto\n', 'lo cierto es que estoy aqu\xc3\xad\n
', 'otros por menos se han muerto\n', 'maneras de vi
vir.\n']

In [12]: f.close()

El fichero puede contener cualquier dato, por ejemplo números, pero
tenemos que tener claro que para el objeto fichero de python serán
tratados como cadenas de caracteres.
Como antes, asumimos que existe un fichero numeros.txt en el mismo
directorio en el que se ejecuta el programa.

In [13]: g = open('numeros.txt','r')

lista = g.readlines()
lista

Out[13]: ['1\n', '2\n', '3\n', '4\n', '5\n', '6\n', '7\n', '8

\n', '9\n']

Si queremos recuperar los números como tales, tenemos que realizar
alguna operación.

In [14]: lista_num = []

for cad in lista:
lista_num.append(int(cad.strip()))
lista_num


Out[14]: [1, 2, 3, 4, 5, 6, 7, 8, 9]

In [15]: g.close()

Escritura

También podemos guardar datos en un fichero. Al abrir un fichero para
escribir pueden ocurrir dos cosas: + Si el fichero existía pierde su
contenido anterior. + Si el fichero no existía se crea con el contenido que
le demos.

In [16]: f = open('mi_texto','w')

f.write('Con cien cañones por banda\n')
f.write('Viento en popa a toda vela...\n')
f.close()

Por supuesto podemos crear un fichero para guardar números... pero
como cadenas!

In [17]: l = range(50)

h = open('lista_numeros.txt','w')
for x in l:
h.write(str(x)+"\n")

In [18]: h.close()

In []:
  • Links de descarga
http://lwp-l.com/pdf14851

Comentarios de: Introducción al uso de ficheros (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad