В питоне, у меня есть строка:столпотворения питон ошибка check_output ненулевой статус выхода 2
check_output(['babel', 'www/scripts6/lib/data.js', '>', 'www/scripts/lib/data.js'])
Это дает мне ошибку:
subprocess.CalledProcessError: Command '['babel', 'www/scripts6/lib/data.js', '>', 'www/scripts/lib/data.js']' returned non-zero exit status 2
я тупик. Команда отлично работает в оболочке. Почему питон жалуется?
EDIT: используя
print(check_output(['babel', './www/scripts6/lib/data.js', '>', './www/scripts/lib/data.js'], shell=True))
вместо дает выход
b'"use strict";\n\n'
в терминале. Это говорит о том, что babel теперь работает, но babel принимает НИЧЕГО как его вход и ВЫХОД НА терминал.
Вы набрали две строки, а не одну строку. Здесь: ''path/to/babel ./www/scripts6/lib/data.js>' './Www/scripts/lib/data.js'' – mareoraft
@mareoraft В Python две строки, которые находятся в последовательности без каких-либо промежуточный оператор объединяется в одну строку автоматически интерпретатором. '' a '' b'' полностью эквивалентен '' ab''. (См. [Здесь] (https://docs.python.org/2/reference/lexical_analysis.html#string-literal-concatenation).) – Louis
Второе предлагаемое вами решение работает только с полным пути babel. Это может быть проблемой переносимости, если один из моих разработчиков имеет свой Babel, который хранится в другом месте. – mareoraft