check_output
запускает команду оболочки и возвращает ее стандартный вывод.decode
декодирует байтовую строку в правильную строку Python Unicode.
Вам обычно не следует использовать ls
программно , и вам, как правило, следует избегать использования внешнего подпроцесса для задачи, которую Python можетлегко выполнить себя.Лучший, более портативный и более эффективный способ достижения того же результата -
import os
print('\n'.join(os.listdir('../input')))
... хотя это не жестко кодирует предположение, что имена файлов возвращаются как UTF-8 (чтовероятно, это тоже хорошо для мобильности).