Найти - Пользователи
Полная версия: строки сравниваются неверно
Начало » Python для новичков » строки сравниваются неверно
1
ffrr
В скрипте выборка из БД происходит верно, но при проверке условия
   if mac != str(bas[5]):
при равенстве этих строковых переменных срабатывает условие и печатается сообщение:
 00:1d:60:f1:da:4c
<class 'str'>
00:1d:60:f1:da:4c
<class 'str'>
your MAC address 00:1d:60:f1:da:4c is wrong.

     with open(pub_file) as File:
        reader = csv.reader(File, delimiter=':')
        for row in reader:
            nodeid_db = row[0]
    cur.execute('SELECT * FROM `permissions` WHERE nodeID = "' + str(nodeid_db) + '"')
    bas = cur.fetchone()
    print(mac)
    print(type(mac))
    print(bas[5])
    print(type(bas[5]))
    
    if mac != str(bas[5]):
        print("your MAC address " + str(mac) + " is wrong.")
        quit()

Может в переменной mac как-то нужно символ новой строки удалить?
PEHDOM
ffrr
Может в переменной mac как-то нужно символ новой строки удалить?
Естевенно нужно. для этого можно использовать метод строк string.rstrip().
ffrr
PEHDOM
спасибо, я использовал strip(), а чем rstrip() лучше?
PEHDOM
ffrr
я использовал strip(), а чем rstrip() лучше?
стрип обрезает указаные символы с обоих концов, рстрип и лстрип делают это только справа и слева соответвенно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB