pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Нативный JS uploader файла?

Лучший ответ: В простейшем варианте это выглядит примерно так

var form = document.getElementById("form"),
var http = new XMLHttpRequest();
xhr.open("POST", '/attach');
xhr.send(new FormData(form));



Худший ответ: Не оно?
Вопрос: Нужно ли создавать класс для объектов?

Лучший ответ: Почти все современные реализации MVC довольно далеки от "канонических". Особенно в вэб.
https://habrahabr.ru/post/321050/UPD: и вообще, вам не кажется, что вы изобретаете собственную реализацию ORM?
Они готовые уже есть. Doctrine, например.

Худший ответ: Вот как я всё это понимаю:
Entity это класс для работы с БД или другим хранилищем данных. Его задача заключается именно в предоставлении удобного интерфейса для работы с этим хранилищем для конкретно этой "структуре данных".
Model это класс, с которым работает весь окружающий код. Он должен быть удобным для работы с этой моделью данных. Его интерфейс никак не зависит от того, как именно хранятся данные и описывает только поведение этой модели. Модель это ведь не только запись/чтение данных, там достаточно много своих задач. А вот для записи/чтения данных внутри Modelи уже происходит работа с Entity. И если вдруг вы решили менять БД с какой-нибудь SQL на noSQL, сделать некоторые правки в работе с БД или т.п., то вы просто изменяете Entity класс, не влезая в логику модели или, упаси Боже, в бизнес-логику. 
Проще говоря задача Entity работать с БД, задача Modelи - описывать поведение модели. Для хранения и получения данных в Модели используется Entity.
Что касается правильного подхода: если у вас проект небольшой и вам не нужно городить тонны кода для работы моделей (а-ля блог), то вся эта канитель с Entity пустая трата времени. Если же проект серьёзный, с последующей долгой поддержкой, то такое разделение логики сохранит множество нервов всей команде разработчиков.
И напоследок знаменитая статья дяди Боба о чистой архитектуре
Вопрос: Как вызвать метод несколько раз в зависимости от возвращаемого результата?

Лучший ответ: Попробуйте так:var field = 0; // init value

function callback(result){
	field = result.field;
	if (field < 10){
		object.foo(field, callback);
	};
};
object.foo(field, callback);
https://jsfiddle.net/pmceqnck/
Возможно object.foo - асинхронный, тогда метод Finesse (если я не ошибаюсь не работает)

Худший ответ: Рекурсия (JavaScript)
Вопрос: Событие при появлении объекта в зоне видимости?

Лучший ответ: надо измерять высоту окна, расстояние от верха окна до вашего элемента, путь пройденый скроллом , и если позиция вашего элемента + небольшой зазор (иначе срабатывать будет как только первый пиксель элемента появится из-под нижнего края окна браузера и анимации не будет заметно, она произойдет внизу ) в пикселях меньше чем расстояние пройденное скроллом + высота окна, то значит он видим на экране, можно с ним делать анимацию или еще что там$(document).ready(function(){
			$(document).bind("scroll",function(){
				$(".scroll-appear").each(function(){
					var position = $(this).offset().top;
					var classToBeAdded = "visible";
					
					if (position+150 < $(window).scrollTop() + $(window).height()){
						$(this).addClass(classToBeAdded);
					}
					
					
					if (position+$(this).height()+600 < $(window).scrollTop() + $(window).height()){
								$(this).removeClass(classToBeAdded);
					}
						
					
				});
			});
		});

Худший ответ: При загрузке (Ну если не динамический контент, который меняется сам по себе, тогда надо при каждом изменении обновлять данные), получить координаты (высоты от начала страницы и самого элемента ну и ссылку на сам элемент) всех интересующих вас элементов и положить в массив объектов. При скролле, пробегаться по массиву и находить интересующие вас элементы, которые входят в область видимости.
Вопрос: Существуют ли современные ноутбуки не широкоэкранного формата?

Лучший ответ: Если вас устраивает 1024х768 — то почему вас не устроит 1366х768)?

Худший ответ: Яндекс Маркет говорит, что очень мало и не такие уж они современные.
Вопрос: Является ли внешний ключ индексом?

Лучший ответ: Foreign Key использует индекс, т.е. нет, но без индекса не сделать.

Худший ответ: Куда ссылается - должен быть уникальным индексом (лучше PK), без этого не создастся FK.
Откуда ссылается - MySQL автоматически строит индекс, а PostreSQL - нет.it is often a good idea to index the referencing columns too. Because this is not always needed, and there are many choices available on how to index, declaration of a foreign key constraint does not automatically create an index on the referencing columns.
https://www.postgresql.org/docs/current/static/ddl...
Вопрос: Почему скрипт исполняется только на одной странице?

Лучший ответ: Откройте ваш layout (Например: application.html.erb)
Если там есть такая строчка:<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
 то используется turbolinks.
Штука очень интересная, но нужно с ней обращаться. Если уберете турболики, то ваш код будет работать на каждой странице. 
Почему код не работает с turbolinks? Эта штука загружает css и js только один раз, при первом открытии страницы. При переходе на другую, файлы не загружаются снова. Это дает прирост производительности, но нужно менять код для работы с turbolinks. Поэтому бегом детально изучать документацию https://github.com/rails/turbolinks!

Худший ответ: добавьте debugger после комментария, посмотрите какие элементы в коллекции $('a.show-popup'). Может у вас класса этого нет, либо элемент не является ссылкой. С таким кол-вом инфы это пальцев в небо.
Вопрос: Треск от нового жёсткого диска после замены — норма?

Лучший ответ: К установке это не имеет никакого отношения.
Либо диск шумный сам по себе, либо он неисправен.
Посмотрите SMART.

Худший ответ: На счет неправильной установки навряд ли(это вообще гипотетически возможно?), а вот например свидетельствовать о браке очень может, диск новый(в смысле совсем новый))?. Оказывались ли на диск механические воздействия(роняли, трясли и т.д.), это очень легко могло привести к смещению(поломке) читающей головки. 
Так же возможно стоит проверить питание поступающее на диск(например  подключив диск в другой компьютер/ноутбук).
Вопрос: Почему в логотипах редко используют красивые, сложные иллюстрации?

Лучший ответ: Лично мне кажется, причиной тому служит особенность способности мозга к зрительному запоминанию, ведь чем проще и уникальней, тем лучше запомнить.

Худший ответ: Логотип должен быть сложным. Сложность рисунка заключается не в количестве а в качестве элементов. 2, 3, 4 элемента, не более. Но линии этих элементов у хороших логотипов очень сложные, они должны нести  энергетику и воздействоать на подсознательное. Круг можно нарисовать циркулем и он ничего не будет нести, а можно в виде линии и задать настроение.
Вопрос: Как вы повышаете собственную продуктивность?

Лучший ответ: + Вести список дел
+ Вести список проектов
+ Выбирать главное и стараться уменьшать первые два
+ Стараться каждый день сделать один MIT (most important task)
+ Записывать все идеи в инбокс и только потом переносить в списки
+ Найти подходящее для этого всего приложение 
+ Прочесть GTD Девида Аллена
+ Заводить помидор, когда работаешь. Техника Помодоро.
+ Выключить звук на телефоне.
+ Бороться с остальными поглащателями времени.
Но это все возможно только после принятия тезиса о том, что нет такой проблемы как "нехватка времени". Времени у всех одинаково. Успешные люди — это те, кто находят время для важных вещей.

Худший ответ: Никак) А то так можно доповышаться до полного выгорания
Вопрос: Какую CRM выбрать для сервиса по ремонту компьютеров?

Лучший ответ: Любую. Я бы AmoCRM выбрал. Основная проблема CRM, это сотрудники, которым лень бюрократией страдать.

Худший ответ: Можно написать на том же симфони приложение, которое будет кроссплатформенным и оптимизировать его как угодно
Вопрос: Где искать команду стартапа в Москве?

Лучший ответ: Те кто собираются на такие тусовки - пьют смузи и болтают.
Для дела они не пригодны.
Стоящие люди - заняты.

Худший ответ: Любые хакатоны как правило преследуют похожую цель, можно копать в эту сторону
Вопрос: Как сделать простейший аккордеон HTML +CSS (без JS)?

Лучший ответ: Набросал попроще: jsfiddle.net/nrj9dga9UPD: теперь со стрелочками jsfiddle.net/nrj9dga9/1

Худший ответ: Не надоело страдать? JS работает в любом утюге.
Вопрос: ASP NET Identity — как подключить в разрабатываемый проект?

Лучший ответ: Если нужен пример - создай пустой проект в Visual Studio на основе шаблона ASP.NET MVC, с отмеченным пунктом авторизации(Individual User Accounts он называется). И будет тебе создан контекст подключения к БД. Кроме того, автоматически реализуется простейшая логика регистрации, авторизации, восстановления пароля и т.д. - будет много чего посмотреть.
UPD:  В "Pro" версии книги по MVC 5 от Фримана уделяется отдельное внимание Identity. Если не ошибаюсь, чуть ли не 100 страниц - рекомендую взгянуть также. Pro ASP.NET MVC 5 Platform

Худший ответ: У меня в VS заведено 2 проекта - Domain и WebUI. В каком правильнее реализовывать ASP NET Identity ?
На самом деле правильнее будет сделать отдельный проект
Вопрос: Как разбирается простой русский паяльник?

Лучший ответ: Отправьте его в страну вечной пайки уже и купите нормальный с терморегулятором.

Худший ответ: Снимается ручка, по ходу снятия подаёте провод вовнутрь, сборка в обратном порядке .
До всех мучений проверить на пробив нагревателя на корпус - если имеется кз на корпус то смело выбрасываем :)
Вопрос: PAINT как сделать принудительное сохранение в PNG?

Лучший ответ: GNU Dia /thread
А если конкретно, то ваши инженерЫ видимо зря носят такое название, потому что неправильное применение неправильного инструмента - очень далеко от инженерного подхода. И да, формат по умолчанию в mspaint неизменяем.

Худший ответ: Скрипт для конвертации. И запускать его в папке по расписанию.
Можно воспользоваться XnView с его nConvert, можно применить какой-нибудь ImageMagick.
Вопрос: Хранилка паролей

Лучший ответ: Keepass — довольно популярная программа, создана как раз для хранения паролей.Evernote тоже можно использовать.

Худший ответ: Только сегодня написал комментарий к посту на данную тему:)
Вопрос: Задачка на питон, хочу понять как это работает на питоне, можете помочь?

Лучший ответ: Код ниже отработал на ураgroupmates = [
  {
    "name": "StudentOne",
    "group": "111",
    "age": 21,
    "marks": [4, 3, 5, 5, 4]
  },
  {
    "name": "StudenTwo",
    "group": "111",
    "age": 22,
    "marks": [3, 2, 3, 4, 3]
  },
  {
    "name": "StudentThree",
    "group": "111",
    "age": 23,
    "marks": [3, 5, 4, 3, 5]
  },
  {
    "name": "StudentFour",
    "group": "111",
    "age": 24,
    "marks": [5, 5, 5, 4, 5]
  },
  {
    "name": "StudentFive",
    "group": "111",
    "age": 29,
    "marks": [5, 5, 5, 5, 5]
  }
]

def count_mark(students,mark):
    print ("name".ljust(15), "group".ljust(8), "age".ljust(8), "marks".ljust(20))
    for student in students:
        marks_list = student['marks']
        result =  (sum(marks_list)/len(marks_list))
        if result >= need:
            print(student["name"].ljust(15), student["group"].ljust(8), str(student["age"]).ljust(8), str(student["marks"]).ljust(20))

need = int(input('Input :'))

count_mark(groupmates,need)

Худший ответ: Решение:def print_studs(students):
    t = '{:<16}{:<8}{:<8}{}'
    print(t.format('name', 'group', 'age', 'marks'))
    print('\n'.join([t.format(s['name'], s['group'], s['age'], s['marks']) for s in students]))
  
def all_students(students):
    return students
    
def students_avg(students, n):
    return [s for s in students if sum(s['marks'])/len(s['marks']) > n]

print_studs(all_students(groupmates))
print()
print_studs(students_avg(groupmates, 4))
Вопрос: PayPal: Вывод средств с бизнес-аккаунта. Какие варианты?

Лучший ответ: Добрый день.
Да, вполне, только в этом случае нужно регистрировать аккаунт на Россию и вводить данные российского банковского счёта (его можно найти в Сбербанке Онлайн).
Лично я от себя рекомендую описанный здесь способ вывода PayPal на карту Payoneer, раньше тоже выводил на Сбер, а потом всё равно перешёл обратно на Payoneer: слишком долгие задержки (7 дней на Сбербанк в отличие от 3х на Payoneer).

Худший ответ: Добрый день.
Да, вполне, только в этом случае нужно регистрировать аккаунт на Россию и вводить данные российского банковского счёта (его можно найти в Сбербанке Онлайн).
Лично я от себя рекомендую описанный здесь способ вывода PayPal на карту Payoneer, раньше тоже выводил на Сбер, а потом всё равно перешёл обратно на Payoneer: слишком долгие задержки (7 дней на Сбербанк в отличие от 3х на Payoneer).
Вопрос: Магистратура в Германии и армия?

Лучший ответ: Нахрена вам отсрочка если вы уехали

Худший ответ: 1. Можно учиться и работать. Но конечно работа будет съедать часть времени, но куда деваться... Если повезёт, то можно работать прямо в университете. Это проще. 
2. Поступайте в магистратуру и там и там. Так вас точно не заберут в армию. Попав в Германию, учитесь и работайте. В России можно уйти в академии или как захотите
3. Учитесь до 28. Если будете работать, по любому учёба затянется. Если раньше закончите, поступайте в аспирантуру. В военкомат надо будет периодически носить справку о том, что учитесь заграницей. Только сами туда не ходите, попросите родителей.
Вопрос: Неотвеченный вопрос на Хабре

Лучший ответ: Хабр плохо предназначен для таких вопросов. Вам прямая дорога на стэковерфлоу.

Худший ответ: Не просто же так не ответили. Упрощайте и люди к вам потянуться.
Вопрос: Где отслеживать новые криптоваюты?

Лучший ответ: Говнофорки пиарятся в основном тут.
Что касается годных валют, то все они появись не вчера (этим они и отличаются, да).

Худший ответ: Нужно следить на биржах за новой валютой, если валюта появилась там и со временем у нее растет капитализация, значит в будущем есть большая вероятность что ее цена возрастёт
Вопрос: Как адаптировать множественный селектор на js для тех, у кого отключен js?

Лучший ответ: игнорировать всех у кого отключен жс ) без вариантов.

Худший ответ: multiple - это и есть селект для тех у кого отключен JS.
Не нужно пытаться писать костыли для 0.01% посетителей.
Вопрос: 14&quot;/15.6&quot; ноутбук для кодинга и пр. Какое лучше разрешение 1600 или 1366?

Лучший ответ: Для веб-разработки идеально подойдёт Mac.

Худший ответ: А разве что-то мешает переключиться на 1366 если в чём-то неудобно работать при 1600?
Вопрос: Секции на всю ширину и высоту экрана в Landing Page?

Лучший ответ: Если я правильно понял вопрос, то:section{
height: 100vh;
width: 100vw;
}

Худший ответ: На чистом CSS не пробовал. Обычно для этой цели использую Fullpage
Только ограничиваю адаптивность для малых экранов. Там делаю обычные по высоте секции.
Вопрос: Как с помощью ООП смоделировать сложный игровой мир?

Лучший ответ: А я бы посмотрел на задачу с другой стороны. Вот представьте ваш главный герой еще младенец, не знает что на гитаре можно играть, в костер дрова кидать, бутерброд даже не знает зачем. Он может поднять и съесть камень, гитару, да все что угодно. Вот и реализуйте все желаемые действия для персонажа, а всем объектам дайте только физические характеристики -размер, вес, температура, горючесть, жидкость. Дайте возможность герою сыграть музыку на камнях! И задача ваша будет описать возможную логику взаимодействий, как в жизни, как ребенка учить. Вот пытается герой съесть гитару - она по размерам не лезет в рот, сует камень - пусть подавится и помрет )
Ну и на этой печальной ноте я пожалуй закончу ))

Худший ответ: В Java, например, я бы решал это дело с помощью интерфейсов, а не абстрактных классов. Ибо класс может реализовывать много интерфейсов, а расширять только один класс. Так, например, класс Гитара может реализовывать интерфейс Музыкальный инструмент, у которого есть метод Играть, интерфейс Оружие с методом Бить, и так далее.
Вопрос: Отдача случайного файла по определённому URL

Лучший ответ: wiki.nginx.org/HttpRandomIndexModule не подойдёт?

Худший ответ: Если нгникс собран с wiki.nginx.org/EmbeddedPerlModule то можно им.
Вопрос: Как правильно построить взаимодействие между php на одном сервере и mysql на другом?

Лучший ответ: настройте репликацию данных и используйте локальное хранилище

Худший ответ: Ну увеличьте в сто раз количество коннектов и не парьтесь, выдумали какую то надуманную проблему.
Вопрос: Как сделать скрипт на Python в который уже включены нужные библиотеки?

Лучший ответ: Есть всякие упаковщики (вроде PyInstaller), которые собирают скрипт с интерпретатором и всеми зависимостями в один exe-файл. Гуглите "python to exe", на первой странице всё будет.
А на счёт упаковки скрипта с зависимостями, но без интерпретатора не слышал, да и это не всегда возможно — если какая-то из зависимостей использует нативные расширения, то в любом случае придётся эти расширения отдельно тащить.

Худший ответ: Посмотрите как устроен скрипт letsencrypt например. Он работает ровно так, как вы хотите
Вопрос: Есть аналог javadoc на c#?

Лучший ответ: Да. XML-документирование можно использовать ( и т.д.), тогда документацию "подхватит" IntelliSense, + есть утилиты, которыми по этой документации можно сгенерить html.

Худший ответ: www.stack.nl/~dimitri/doxygen
Пример:/**
 * @file
 * @brief My cool file
 * @ingroup CoolGroup
 * @author Me
 * @date 06.06.06
 */

/**
* @addtogroup CoolGroup My cool group
* @{
*/

/**
 * @brief My cool class
*/
public class Foo
{
/**
* @brief My cool function
* @param[in] a first argument
* @param b second argument
* @return result of adding a to b
*/
public int bar(int a, int b)
{
return a + b;
}
}

/** @} */
Вопрос: Могут ли меня посадить за файлохостинг и как не сесть?

Лучший ответ: могут 
принять модераторов на бесплатной основе

Худший ответ: Как минимум условный срок - запросто.
Для первого раза вряд ли посадят. 
Но если будет повтор после условного срока - уже точно посадят.
Сделать кнопку "Пожаловаться".
Пользователи сами будут тебе помогать вычищать.
Вопрос: Как сделать стилизацию бордеру?

Лучший ответ: Белым псевдо-атрибутом перекрыть бордер, а вторым нарисовать вертикальную черту

Худший ответ: Создать блок с такой границей. В этом блоке, создать отдельный элемент или псевдокласс, к примеру :after. Далее, этому псевдоклассу или блоку, который внутри основного блока, задать белый цвет, высоту и ширину. 
Пример: тЫк
Вопрос: Как осуществить подмену контента без замены urlа?

Лучший ответ: На backe генерируется sitemap и сохраняется в папку "sitemap" адрес получается к sitemap: work.domain.ru/sitemap/sitemap.xml
sitemap.xml не место в backend т.к. он там не нужен, лучше не задавайтесь вопросом как подменить URL, а задайтесь вопросов - как сохранить ее при генерации в frontendf

Худший ответ: Файлы сайта находятся в одной директории, бекэнд и фронтэнд разделены только конфигом?
Вопрос: Как удалять вопросы на хабре?

Лучший ответ: Никак. Только если переносить в черновики.

Худший ответ: Пасиб :)
Вопрос: Разрешено ли использовать скайп на Upwork?

Лучший ответ: Для общения с клиентом можно использовать что угодно, в т.ч. Skype, это вы уже договариваетесь в личной переписке.
Однако важная информация, связанная с работой, всегда должна быть во внутренней переписке (в частности, все ТЗ, отчеты по работе и т.п.), иначе в случае каких-то проблем с клиентом сложно будет что-то доказать.

Худший ответ: Для общения с клиентом можно использовать что угодно, в т.ч. Skype, это вы уже договариваетесь в личной переписке.
Однако важная информация, связанная с работой, всегда должна быть во внутренней переписке (в частности, все ТЗ, отчеты по работе и т.п.), иначе в случае каких-то проблем с клиентом сложно будет что-то доказать.
Вопрос: Как защитить конфиденциальные данные на ноуте?

Лучший ответ: битлокер на винде включить)

Худший ответ: Linux = LUKS+LVM и счастье )
Вопрос: Какой сертификат нужен для одного домена и разных поддоменов на разных серверах?

Лучший ответ: Один Wildcard SSL сертификат для *.вашдомен.ru доменов.
UPD. И одинаковый приватный ключ сертификата на всех серверах.

Худший ответ: Вам нужен 1 Wildcard сертификат, например, https://www.leaderssl.ru/suppliers/comodo/products...
Там есть поддержка неограниченного числа серверов.
Что это значит: Вы генерируете на одном сервере запрос CSR и ключ, выпускается сертификат исходный,
далее генерируете CSR-запрос и ключ с другого сервера - Вам перевыпускают текущий,НО продолжают работать и первый и выпущенный его дублер с другим CSR и ключом.
И так сколько нужно раз можно перевыпускать.
Вопрос: Не могу вернуть значение C#. В чем ошибка?

Лучший ответ: Параметр в метод не передан:int h = obj.Met(--> ???? <--);
Вызываем метод Met, в первом параметре указываем значение 123, результат передаем в переменную h:int h = obj.Met(123);
Console.WriteLine("Получен результат: {0}", h);

Худший ответ: Потому что не определен метод Met без входных параметров. Или определяйте метод или передавайте параметр в текущий.
Вопрос: Как изменять значения переменных другого класса в C++?

Лучший ответ: Первое:
Если пишите на C++ и используете заголовочные файлы С, их принято называть ctime, а не time.hВторое:
Для псевдослучайных чисел в C++ используйте заголовочный файл random:#include <random>
...
std::random_device rd;
std::cout << rd() % 10;Третье:
Если вам нужен массив, используйте массив. То что вы написали - очень странный костыль.
Если нужно заполнить массив случайными числами, напишите функцию:void fill_with_random(int* arr, size_t n)
{
    random_device rand;
    for (size_t i = 0; i < n; ++i)
    {
        arr[i] = rand() % 21 - 10; 
    }
}Четвёртое:cout << y[0][0]; //все прекрасно выводится
/*но если попробовать сделать y[0][0]+=1; то выводится ошибка "выражение должно быть допустимым для изменения левосторонним значением"*/
Естественно, так происходит потому, что в вашем классе (который и не нужен совсем) вы возвращаете число, там где ожидается ссылка:int operator [](int i)
{
    return x[i];
}
Заменить на:int& operator [](int i)
{
    return x[i];
}Пятое:int  operator [](int i)
{
    return y[i][0]; /*совершенно непонятно, какую роль здесь играет [0], и почему не работает с просто return y[i]... при изменении [0] на любое другое число, результат не меняется...*/
}
Непонятно потому, что его там и не должно быть. operator[] должен давать доступ к строке (т.е. массиву). А уже второй operator[] будет относится к массиву и возвратит ссылку на элемент.massiv& operator [](int i)
{
    return y[i];
}Шестое:
Если нужна матрица, используйте двумерный массив и не изобретайте велосипед. Если класс всё же необходим, например, если нужно добавить методы для работы с матрицей, можно написать такой класс, используя двумерный массив:class Matrix
{
public:
    Matrix() {}
    int* operator[] (size_t i)
    {
        return &arr[i][0]; // Указатель на первый элемент i-ой строки.
    }
private:
    int arr[5][5];
}Седьмое:
Классы принято называть с большой буквы. И пожалуйста, не называйте их транслитом.
Массив - Array
Матрица - Matrix

Худший ответ: Оператор должен возвращать ссылку
  int&  operator [](int i)
  {
    return x[i];
  }
Вопрос: Почему не по середине?

Лучший ответ: попробуй задать картинке img{
    margin: 0 auto;
    display: block;
}

Худший ответ: Замени max-width:768px на 980
Вопрос: Почему не работает php в html?

Лучший ответ: Закройте туториал из которого Вы берёте код и никогда не открывайте. И пожалуйта, не пытайтесь больше вставить PHP в HTML.

Худший ответ: вер-сервер решает, что интерпритировать и как. 
Т.е если веб сервер не настроен на то, чтобы выполнять php в html файлах он и не будет его выполнять.
И по делу в чем проблема сделать у файла расширение php
Вопрос: Как сравнить строку?

Лучший ответ: Число-то не целое, используйте float(beesrav).

Худший ответ: Всем спасибо, оказывается проблема была в subprocess.check_output, через Popen все заработало
вот рабочий код:import subprocess;
beesrav = subprocess.Popen('compare -metric PSNR /home/crossteach/scr/w32bee/1.jpg /home/crossteach/scr/w32bee/2.jpg test.png; exit 0', shell=True,universal_newlines=True, stdout = subprocess.PIPE, stderr=subprocess.STDOUT);
st = beesrav.stdout.readline();
print(st);
i = float(st);
i = round(i);
i = int(i);
print(i);
в int можно было не переводить, это я так уже.