Hace un momento estaba trabajando en un script de Python 3 en donde se lee y escribe cierto texto, solo que ocurrió un problema cuando dentro del contenido del archivo se encontraba una ñ.
Por lo tanto en este post te enseñaré cómo leer y escribir archivos de texto codificados como UTF-8 para que soporte los caracteres especiales como la ñ, acentos, etcétera; casi todo lo que conforma el idioma español.
Para ello simplemente vamos a indicar el encoding al abrir los archivos.
Archivos en Python codificados en UTF-8
Como lo dije, si hablas español (o bueno, tienes contenido en idioma español en un archivo) o quieres trabajar con esta codificación en general, simplemente indica encoding="utf-8"
al abrir el archivo, ya sea para escritura o lectura.
# Especificar al abrir para leer
with open("archivo.txt", encoding="utf-8") as archivo:
# Y al abrir para escribir
with open("salida.txt", "w", encoding="utf-8") as a:
for linea in archivo:
print(linea)
a.write(linea)
Tengo este ejemplo que lee el contenido del siguiente archivo:
ñññññ
Y lo escribe en otro además de imprimir el contenido. El archivo de salida es:
ñññññ
De este modo es como podemos leer y escribir archivos en Python usando la codificación UTF-8. Puedes leer más sobre Python aquí.