TypeError:预期的字符串或类似字节的对象python

时间:2019-03-10 13:15:11

标签: python if-statement typeerror

我正在创建一个密码验证系统。但是,我收到一条错误消息,并且我不明白错误的原因或原因。我在单独的文件上测试了这些验证的各个部分,它们可以正常工作,但是当将它们实施到我的实际程序中时,它似乎无法正常工作。 这是负责验证的代码。

#Ensures passwords match and writes the account details to the database
def Checker():
    if re.match(user_password2v2, user_passwordv2):
        match+=1
    else:
        match=match
    if len(user_namev2) > 5 and len(user_passwordv2)>7:#Ensures the username and passwor are of a minimum length
        match+=1
    else:
        match=match
    if re.search(r"\W", user_password2): #Ensures a character is present in the password
        match+=1
    else:
        match=match
    if re.search(r'[0-9]', user_weightv2):#Ensures numbers are used in the weight entry
        match+=1
    else:
        match=match
    if match==4:
        user_information.append(user_namev2)
        user_information.append(user_passwordv2)
        user_information.append(weight)
        Goal_Select()
    if match!=4:
        Error()
如果不满足任何这些条件语句,应运行

Error()

user_namev2user_passwordv2user_weightv2都是从tkinter输入框中提取的变量。

这是我整个错误消息的屏幕截图。 enter image description here

1 个答案:

答案 0 :(得分:2)

“ user_passwordv2”的数据类型看起来不适合re.search
跟随代码进行类型转换怎么样?

    re.search(r"\W", str(user_password2))
    #re.search(r"\W", user_password2)