Operación no soportada: no se puede escribir en Python

Validación de correo electrónico

#Email validator import re f= open ('ValidEmails.txt', 'w') def is_email(): email=input("Enter your email") pattern = '[\.\w]{1,}[@]\w+[.]\w+' file = open('ValidEmails.txt','r') if re.match(pattern, email): file.write(email) file.close print("Valid Email") else: print("Invalid Email") #The Menu print("The Email validator progam \n") print("What do you want to do\n") print("Validate the Email") print("Quit") while True: answer=(input("Press V, or Q : ")) if answer in("V" ,"v"): is_email() elif answer in("Q" ,"q"): break else: print("Invalid response") 

Me pregunto por qué mis datos no se escriben en el disco. Python dice que mi operación no es compatible.

 is_email file.write(email) io.UnsupportedOperation: not writable 

¿Debo convertir el correo electrónico a una cadena como esta o

 file.write(str(email)) 

es algo mas

Probablemente me esté perdiendo algo muy simple.

Abre la variable “archivo” como solo lectura y luego intenta escribir en ella. Usa la bandera ‘w’.

 file = open('ValidEmails.txt','w') ... file.write(email) 
 file = open('ValidEmails.txt','wb') file.write(email.encode('utf-8', 'ignore')) 

Esto es resolver su encode error también.