En Python, para abrir un fichero usaremos la función open, que recibe el nombre del archivo a abrir. Por defecto, si no indicamos nada, el fichero se abre en modo lectura.
OPEN: MODO LECTURA
In [1]:
    
%pwd
    
    Out[1]:
In [2]:
    
fichero = open("../datos/cuna.txt")
    
La función open abrirá el fichero con el nombre indicado, en este caso el fichero cuna.txt. Si no tiene éxito, se lanzará una excepción. Si se ha podido abrir el fichero correctamente, la variable fichero nos permitirá manipularlo.
In [3]:
    
ls "../datos"
    
    
In [4]:
    
fichero= open("../datos/cuna.txt")
for linea in fichero:
    print(linea)
    
    
Es posible, además, obtener todas las líneas del archivo utilizando una sola llamada a función readlines.
In [5]:
    
fichero = open("../datos/cuna.txt")
lineas = fichero.readlines()
lineas
    
    Out[5]:
En este caso, la variable líneas tendrá una lista de cadenas con todas las líneas del fichero.
Es importante tener en cuenta que cuando se utilizan funciones como archivo.readlines(), se está cargando en memoria el fichero completo. Siempre que una instrucción cargue un fichero completo debe tenerse cuidado de utilizarla sólo con ficheros pequeños, ya que de otro modo podría agotarse la memoria.
In [6]:
    
# Uso de rstrip para eliminar saltos de línea
lineas[0].rstrip()
    
    Out[6]:
OPEN: MODO ESCRITURA
Si queremos abrir un fichero en modo escritura, hay que indicarlo como segundo parámetro de la función open.
In [26]:
    
# Abrimos el archivo nuevo y con el parámetro 'w' le indicamos que estamos en modo escritura
arc_write = open('../datos/nuevo.txt', 'w')
# Usamos los datos del archivo que hemos abierto antes 'cuna.txt':
# fichero = open("../datos/cuna.txt")
# lineas = fichero.readlines()
# Copia en el nuevo archivo solo las líneas pares de la variable 'lineas' que a su vez contiene todas las líneas
# del archivo 'cuna.txt'
for i, line in enumerate(lineas):
    if i % 2 == 0:    
        arc_write.write(str(i) + ' ' + line)
    else:
        pass
    
In [27]:
    
arc_write.close()       # cerramos el fichero
    
In [25]:
    
open('../datos/nuevo.txt').readlines()
    
    Out[25]:
In [11]:
    
open('../datos/nuevo.txt', 'a').write('\nEste es el final')
    
    Out[11]:
In [12]:
    
open('../datos/nuevo.txt').readlines()
    
    Out[12]:
In [13]:
    
open('../datos/nuevo.txt').readline()
    
    Out[13]:
In [ ]: