Archivos

Veamos algunos ejemplos...

Usando el archivo prueba.txt escribimos en segundo.txt

prog/archi_01.py

>>> a = open("prueba.txt","w")
>>> a.write("uno dos tres")
12
>>> a.write("hola")
4
>>> a.close()
>>> a = open("prueba.txt","w")
>>> a.write("uno dos tres\n")
13
>>> a.write("hola")
4
>>> a.close()
>>> a = open("prueba.txt","a")
>>> a.write("otra cosa")
9
>>> a.close()
>>> a = open("prueba.txt","a")
>>> a.write("\notra\ncosa mas\n")
15
>>> a.close()
>>> u = open("toto", "r")
Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    u = open("toto", "r")
FileNotFoundError: [Errno 2] No such file or directory: 'toto'
>>>
>>>
>>> u = open("prueba.txt", "r")
>>> linea = u.readline()
>>> print(linea)
uno dos tres

>>> linea = u.readline()
>>> print(linea)
holaotra cosa

>>> linea = u.readline()
>>> print(linea)
otra

>>> u.close()
>>> u = open("prueba.txt", "r")
>>> lin = u.readlines()
>>> lin
['uno dos tres\n', 'holaotra cosa\n', 'otra\n', 'cosa mas\n']
>>> lin[0] = 'hola!\n'
>>> lin
['hola!\n', 'holaotra cosa\n', 'otra\n', 'cosa mas\n']
>>> otro = open("segundo.txt","w")
>>> otro.writelines(lin)
>>> otro.close()

Probamos otra forma de escribir con el archivo prueba01.txt

prog/archi_02.py

#!/usr/bin/env python
# encoding: utf-8

# abro el archivo prueba01.txt
# para escritura
ae = open("prueba01.txt","w")

# escribo una linea
ae.write("primera\n")
# escribo otra linea
ae.write("segunda\n")

# cierro el archivo
ae.close()

# abro el archivo prueba01.txt
# para lectura
ae = open("prueba01.txt","r")

# leo una linea
s1 = ae.readline()
# leo otra linea
s2 = ae.readline()
# muestro las lineas leidas
print(s1, s2)
# cierro el archivo
ae.close()

# abro el archivo prueba01.txt
# para lectura
ae = open("prueba01.txt","r")
for lin in ae:
    print(lin)
# cierro el archivo
ae.close()

prog/fechas.py

>>> import datetime
>>> fecha_hoy = datetime.datetime.now()
>>> print(fecha_hoy)
2016-05-16 19:47:12.338413
>>> print(fecha_hoy.month)
5
>>> print(fecha_hoy.year)
2016
>>> print(fecha_hoy.day)
16
>>> print(fecha_hoy.second)
12
>>> print(fecha_hoy.minute)
47
>>> print(fecha_hoy.hour)
19
>>> print(fecha_hoy.day,fecha_hoy.month )
16 5
>>> print(fecha_hoy.weekday())
0
>>> fecha = datetime.datetime(1810,5,25)
>>> fecha
datetime.datetime(1810, 5, 25, 0, 0)
>>> fecha.weekday()
4
>>> dif = (fecha_hoy - fecha)
>>> dif.days
75232
>>> dif.seconds
71232
>>> dif.microseconds
338413
>>> fecha = datetime.datetime(1810)
>>> fecha = datetime.datetime(2016,5,15)
>>> fecha.weekday()
6
>>>

Ejercicios

  1. Hacer un programa que guarde frases en un archivo "uno.txt"
  2. Leer el archivo creado y mostrarlo en pantalla.
  3. Hacer un programa que genere otro programa en python que muestre la tabla de multiplicar de un numero ingresado por teclado.
  4. Hacer un programa que muestre las líneas del archivo ejemplo_01.py. que tengan más de 10 caracteres de longitud y no empiecen con p.
  5. Hacer un programa que copie las primeras dos líneas de ejemplo_01.py a un archivo "dos.txt".