Задать вопрос
@andrejfomenko

Как сравнить строку?

Здравствуйте выполняю консольную команду и получаю ответ в виде строки:
beesrav = subprocess.check_output('compare -metric PSNR /home/crossteach/scr/w32bee/1.jpg /home/crossteach/scr/w32bee/2.jpg test.png; exit 0', shell=True, universal_newlines=True);

на результат приходит число 30.2337 мне нужно его сравнить если больше 50 то...
но строку он не сравнивает сделать int(beesrav) тоже ошибка (ValueError: invalid literal for int() with base 10: '') , как мне переобразовать эту строку так чтобы сравнить? числа после запятой можно отбросить, перегуглил, перепробовал уже почти все что можно и в float конвертить не получается и round округлить

дополнение 1: c685d8b90e064d3192cef5f5560a16da.png
здесь я ввел команду вручную в консоли убунту, как видно ответ приходит перед именем учетной записи, мб subprocess.check_output считывает то что идет после имени и поэтому пустая строка? но почему тогда принтом выводит...
вот скрин с закоменченным int(beesrav)
1386035f98094cf3b15f66754c07b6e5.png
а вот с ошибкой81043e9eeb9b487b8e7bdf690f2f665d.png
  • Вопрос задан
  • 258 просмотров
Подписаться 1 Оценить 5 комментариев
Ответ пользователя Александр Титов К ответам на вопрос (3)
@alex-t
Прогр. в команде rco.ru
Число-то не целое, используйте float(beesrav).
Ответ написан