![](/img/trans.png)
[英]SQLAlchemy showing a UnicodeWarning: Unicode equal comparison failed
[英]UnicodeWarning: Unicode equal comparison failed
我不知道為什么我的兩個字符串無法比較和匹配。
warn_msg = ('Přihlášení bylo neúspěšné.') # Translated as: Login Failed.
soup = BeautifulSoup(auth, 'lxml')
find_login = soup.find("div", class_="box").text # Will Give: 'Přihlášení bylo neúspěšné.'' # Translated as: 'Login Failed.'
"""
find_login returns: 'Přihlášení bylo neúspěšné.
"""
if find_login == warn_msg:
print('Nothing')
當我將bs4字符串與我的var warn_msg
比較時,它們相等,但是python認為不是。 如果我僅使用不帶bs4
requests
,並從html中解析已分析的字符串並將其進行比較,則它= True。 我很困惑為什么它似乎不適用於bs4。 我在這里查看了編碼手冊: https : //www.python.org/dev/peps/pep-0263/但我沒有使它工作。
錯誤我得到:
UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
這只是我的僅使用requests
工作示例
for i in passwords:
auth = requests.post(login_url, headers=headers, data=payload).content[7838:7872]
if auth == warn_msg:
print('It works, strings match')
輸出:
C:\Users\petr>E:\Scripting\python\test.py
It works, strings match
從評論討論:
請在這種情況下找到兩個字符串的類型。 在這種情況下,一種是Unicode類型,另一種是字符串類型。 將字符串類型轉換為Unicode,然后比較兩個字符串可以幫助更快地解決問題。
快樂編碼:) @uzdisral
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.