0 / 0 / 0
Регистрация: 16.01.2017
Сообщений: 32

QR КОДЫ - пропуск ошибок как?

19.01.2021, 10:51. Показов 2927. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
имеется такой код

Python
1
2
3
4
5
6
7
from pyzbar.pyzbar import decode
from PIL import Image
with open('x') as textfile:
   for line in textfile:
    s = (line.rstrip('\n'))
    print decode(Image.open(s))
    print "------------------------------"+s
берется ссылка на фото из файла и декодируется на этом фото qr код!
все работает супер!

но есть проблема:

среди фотографий есть такие которые не открываются не на linux ( Error interpreting JPEG image file (Not a JPEG file: starts with 0x3c 0x21) не на виндовс (похоже формат этого файла не подерживается)


- нужно либо удалить все эти файлы в папке
- либо как то пропускать ошибку в работе питона что бы переходило к след ссылке на фотографию


ошибка выходит такая :

Traceback (most recent call last):
File "qr.py", line 6, in <module>
print decode(Image.open(s))
File "/home/and/.local/lib/python2.7/site-packages/PIL/Image.py", line 2818, in open
raise IOError("cannot identify image file %r" % (filename if filename else fp))
IOError: cannot identify image file '/home/and/Desktop/br/fo/x2.jpg'


Помогите пожалуйста
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.01.2021, 10:51
Ответы с готовыми решениями:

Коды ошибок аэрогриль POLARIS pag 1205d, У кого есть коды ошибок на аэрогриль POLARIS
аэрогриль POLARIS pag 1205d ошибка e1 че значит?

Коды ошибок, Коды ошибок для пользователей (не для мастеров)
ОшибкаПричинаE10проблемы подачи воды. Проверьте не закрыт ли кран, не забита ли сеточка, достаточно ли давление, не подключен ли сливной...

Пропуск ошибок
Нужно выполнить инсерт из одной таблицы в другую, при этом периодически падают ошибки о не соответствии типов. Как сделать следующее, если...

11
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
19.01.2021, 10:53
Лучший ответ Сообщение было отмечено stalker0007 как решение

Решение

stalker0007, try - except. не благодари
0
0 / 0 / 0
Регистрация: 16.01.2017
Сообщений: 32
19.01.2021, 11:13  [ТС]
да я читал об этом, пробовал , но у меня оно не продолжало брать новые ссылки а стопорилось

можно в коде показать как должно быть пожалуйста
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
19.01.2021, 11:36
Лучший ответ Сообщение было отмечено stalker0007 как решение

Решение

Python
1
2
3
4
5
6
7
for line in textfile:
    s = (line.rstrip('\n'))
    try:
        print (decode(Image.open(s)))
        print ("------------------------------"+s)
    except IOError:
        print('Error:', s)
1
0 / 0 / 0
Регистрация: 16.01.2017
Сообщений: 32
19.01.2021, 11:45  [ТС]
Огромное вам спасибо!!!!!!!!
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
19.01.2021, 12:18
интересно, а как он "пробовал"
0
0 / 0 / 0
Регистрация: 16.01.2017
Сообщений: 32
19.01.2021, 22:47  [ТС]
Помогите пожалуйста, как добавить пропуск и на такую ошибку?

Python
1
2
python: /build/zbar-m079fX/zbar-0.10+doc/zbar/qrcode/qrdectxt.c:368: qr_code_data_list_extract_text: Assertion `next > syms->datalen' failed.
Aborted
Добавлено через 2 часа 8 минут
выходит тут и зацепится нельзя что бы пропустить верно?

Добавлено через 5 минут
дело в том что выше решение идеально, но попадаются картинки видимо с черным фоном или мелкие в итоге выходит такая ошибка как описал выше, можно ли её так же пропустить в этом же коде и брать след. фотографию?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
20.01.2021, 06:45
stalker0007, перехватывай ВСЕ исключения, а не только IOError, тогда и это можно пропустить. СЕйчас ты наверное опять скажешь что читал, пробовал но не получилось?)))
0
0 / 0 / 0
Регистрация: 16.01.2017
Сообщений: 32
20.01.2021, 10:08  [ТС]
это единственная ошибка в терминале
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
20.01.2021, 10:16
stalker0007, ты точно прочел, что я написал? и поправил код?
0
0 / 0 / 0
Регистрация: 16.01.2017
Сообщений: 32
21.01.2021, 16:41  [ТС]
я попробовал каждое из этих исключений (https://pythonworld.ru/tipy-da... henij.html)
заменяя IOError

но не могу пропустить эту ошибку:
Python
1
2
double free or corruption (!prev)
Aborted
---
как и с этой не выходит....
https://www.cyberforum.ru/post15194260.html
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
21.01.2021, 16:45
stalker0007, повторю -ты точно прочел мой пост и поправил код так, чтобы он перехватывал все исключения? Не пиши ничего кроме ответа на эти вопросы

Цитата Сообщение от stalker0007 Посмотреть сообщение
я попробовал каждое из этих исключений (https://pythonworld.ru/tipy-da... henij.html)
заменяя IOError
и какой смысл? если я тебе прямо написал что надо перехватывать все исключения в твоем случае. Как? описано в книге или документации
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2021, 16:45
Помогаю со студенческими работами здесь

СМА Samsung S821, Как расшифровать коды ошибок
У меня были данные в компе но сгорели вместе с виндой, там как то в линейке температуры вроде? горит индикатор температуры 40*с

Пропуск ошибок XML
Всем доброго времени суток! Разбираю в Java невалидный XML. Невалидность заключается в неверном синтаксисе. Вопрос - есть ли какой-то...

Пропуск ошибок программой
В vb была функция, которая при ошибки в следующей строке после ее написании не выдавала ошибку, а пропускала ее. Как сделать такое в C#?...

СМА Whirlpool AWE 6516/1 12NC859365210080, Как распознать коды ошибок?
Как распознать коды ошибок на стиральной машине Whirlpool AWE 6516/1 12NC859365210080? По горизонтали горят 1,3, 4,5 лампочки. Что это за...

Коды ошибок стиральных машин от компании Мерлони, Как считать ошибку и что она означает
В случае возникновения неполадки, стиральные машины Indesit и Ariston прекращают цикл и показывают ошибку. Показывают они её теми...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru