不支持的操作:不可写的python

2024-04-29 20:19:35 发布

您现在位置:Python中文网/ 问答频道 /正文

电子邮件验证

#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")

我想知道为什么我的数据不会写入磁盘。Python说我的操作不受支持。

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

我应该将电子邮件转换成这样的字符串还是

file.write(str(email))

是别的什么东西吗

我可能遗漏了一些很简单的东西。


Tags: answerretxtinputis电子邮件emailopen
2条回答
file = open('ValidEmails.txt','wb')
file.write(email.encode('utf-8', 'ignore'))

这也是解决你的问题。

以只读方式打开变量“file”,然后尝试写入该变量。使用“w”标志。

file = open('ValidEmails.txt','w')
...
file.write(email)

相关问题 更多 >