Не выводится изображение PyQt

Есть две одинаковые по содержанию переменные, но разные по способу получения. С одной переменной изображение выводится, а с другой - нет.

        name2 = self.face_im_name
        print(name)
        print(name2)
        print(name == name2)  # проверка, что переменные одинаковые
        pixmap = QPixmap(name2)
        self.mainlabel_face.setPixmap(pixmap)

вывод следующий:

imgs\sface2.jpg
imgs\sface2.jpg

False

нахождение name2:

self.face_im_name = self.my_counter.definition(self.num_face)

    def definition(self, num): # параметр num исправно выводится
        self.data = open('data.txt', encoding='utf-8')
        self.image_name = None
        for row in self.data:
            row_l = row.split('*')
            number = row_l[0]
            if int(number) == num:
                self.image_name = row_l[1]
        self.data.close()
        return self.image_name

Ответы (1 шт):

Автор решения: S. Nick

Вам надо убрать \n - разрыв строки.

Метод strip() возвращает копию строки, удаляя как начальные, так и конечные символы (в зависимости от переданного строкового аргумента).

Попробуйте так:

def definition(self, num): # параметр num исправно выводится
    self.data = open('data.txt', encoding='utf-8')
    self.image_name = None
    for row in self.data:
        row_l = row.split('*')
        number = row_l[0]
        if int(number) == num:
            self.image_name = row_l[1].strip()             # <---- + .strip()
    self.data.close()
    return self.image_name
→ Ссылка