Al nombrar archivos en el sistema Windows, algunos caracteres especiales no pueden existir, echemos un vistazo a qué caracteres no pueden existir.
No se pueden incluir \ / : * ? " < > |
un total de 9 caracteres especiales en el nombre del archivo.
Al principio quería usar reemplazar() para reemplazar, pero tuve que lidiar con varios caracteres y el código no era fácil de escribir.
¡Solo se puede reemplazar un carácter o cadena a la vez! ! !
msg = "Hello/world\Hello|Python|?*"
msg = msg.replace('\\', ' ').replace('/',' ').replace('|',' ').replace(':',' ').replace('*',' ').replace('?',' ').replace('"',' ').replace('>',' ').replace('<',' ')
print(msg)
Solución
re.compile(r"[abc]")
, que es lo que abc
desea eliminar y reemplazar con-
import re
str2 = "/\|mrflysand *?,/ <>mrflysand 456!"
pat2 = re.compile(r"[*?:\"<>/|\\]")
result2 = pat2.sub("-",str2)
print(result2)
Contenido de salida:
---mrflysand --,- --mrflysand 456!