Requisitos de la tarea
Eliminar la URL de una gran cantidad de novelas en formato txt
Soluciones:
Lista todos los archivos en el directorio
Leer archivo
Reemplace la URL en el archivo (todas las novelas chinas, el inglés se pueden reemplazar directamente)
Escribir archivo nuevo
Eliminar archivos antiguos
Código fuente
import re
import os
txtlist=os.listdir("C:\\Users\SAMSUNG\PycharmProjects\LoadBaiDu\\txt\\novel") #列出目录下的全部文件
for d in txtlist:
if(d.endswith("t")):
file=open("novel\\"+d,"r",encoding="gbk",errors="ignore") #编码问题
file1=open("novel\\ "+d,"w")
for i in file.readlines():
file1.write(re.sub(r"[a-zA-z]","",i)) #正则表达式匹配字母
file1.close()
file.close()
print(d)
os.remove("novel\\"+d)
problema resuelto
Cuando uso Python, a menudo encuentro problemas de codificación y decodificación de texto. En el título se muestra un error de decodificación muy común. La solución a este error se presenta a continuación. También es aplicable para reemplazar 'gbk' por'utf-8 '.
(1) Primero, al abrir el texto, establezca su formato de codificación, como: open ('1.txt', encoding = 'gbk');
(2). Si (1) no se puede resolver, puede aparecer en el texto Algunos símbolos especiales están más allá del rango de codificación de gbk, puede elegir el rango de codificación más amplio 'gb18030', como: open ('1.txt', encoding = 'gb18030');
(3), si (2) aún no se puede resolver, Hay caracteres en el texto que no se pueden codificar incluso con 'gb18030', que se pueden ignorar usando el atributo 'ignorar' , como: open ('1.txt', encoding = 'gb18030', errors = 'ignore' );
(4), Otra solución común es open ('1.txt'). Read (). Decode ('gb18030', 'ignore')