Python как искать определенную строку в файле

#python #file

#python #файл

Вопрос:

Привет, ребята, у меня есть следующий файл:

 Name: xxx
Surname: xx
  

Другие личные данные в том же формате (возраст: 20 и т.д.)

После этих данных у меня есть это:

 URL picture 1:  data:image/png;base64 and etc... (encoded image)
URL picture 2:  data:image/png;base64 not the same code of picture1
  

Я должен делать две разные вещи, если я читаю picture 1 или picture 2 , поэтому, когда я читаю URL, picture 1 делайте что-то, если он читает URL picture 2 , другое.

У меня есть скрипт на Python, но он не работает, не разделяйте их.

 with open(pathUserFile,'a ') as f:
f.seek(0)
for line in f:
    if line.find('URL foto 1:') != -1:
        url_pic = line[line.find(',')   1:]
        url_pic = url_pic.strip()
        decoded_pic = base64.b64decode(url_pic)
        name_of_file = createUserDirectory(pathUserFile, decoded_pic, False)
        info = DeepFace.analyze(name_of_file, ['emotion'])
        domEmot1 = str(info['dominant_emotion'])
        print(domEmot1)
    if line.find('URL foto 2:') != -1:
        print('foto 2')
  

вывод:

 Actions to do:  ['emotion']
'neutral'
foto 2
Actions to do:  ['emotion']
'fear'
foto 2
  

почему он делает два раза одно и то же? только у одного есть анализ

Комментарии:

1. опубликуйте несколько примеров и желаемый результат

2. @ZarakiKenpachi проблема в том, что сделайте одно и то же два раза, но когда он считывает URL-изображение 2, он не должен вызывать метод analyze

3. сначала используйте print() , чтобы увидеть значения в переменных и какая часть кода выполняется — это называется «отладка печати», Вы можете проверить, что вы получаете в line print(line) и print( line.find('URL foto 1:'), line.find('URL foto 2:') ). Maybe you have foto 2 ` два раза. ИЛИ у вас нет foto 1 но picture 1

4. сколько URL-адресов у вас в файле? может быть, у вас есть foto 1 , foto 2 а позже у вас появится еще один foto 1 , foto 2 — так что это дает вам четыре результата — и он анализирует два раза, потому что у вас есть два foto 2 . Лучше проверьте, что у вас есть в файле — и проверьте также print(line)