Вот я и говорю - криво, неисправимо криво. Питон изобретался не в вакууме - к тому моменту существовала куча языков, в том числе интерпретируемых скриптов, и было давно понятно, что нормальная интеграция с оболочкой опсистемы неизбежно потребуется.
Разработчик это понял, и, спохватившись, точку-с-запятой добавил, но... как показывает статья по ссылке, часть случаев работает, а часть - нет.
На мой взгляд очевидное решение, которое все это разрешает (и которое там приводится) - пайп. И оно, на мой взгляд, гораздо изящнее вставления питона в параметры, которое-таки явный корявый костыль (аналогичный добавлению ; в питон вместо перевода строки).
Второе, тоже очевидное, но сильно затрудненное корявостью и двухэтажностью добавления специальных символов в шелл - это эскейп. Эскейп приходится делать дважды, и беспокоиться о специальном значении символов на двух уровнях.
В общем, получается, что извращение в основном рождается не из питона, а из корявости решений предоставляемых шеллом.
Да, либо пайп, либо заменить цикл на list comprehension (если задача в общем виде позволяет). Но всё это костыли, которых можно было бы избежать, умей пациент нормально ходить.
Шелл был существенно раньше, значит его особенности стоило учитывать. Даже если постфактум.
no subject
Date: 2018-03-16 04:59 pm (UTC)Разработчик это понял, и, спохватившись, точку-с-запятой добавил, но... как показывает статья по ссылке, часть случаев работает, а часть - нет.
no subject
Date: 2018-03-16 06:06 pm (UTC)Второе, тоже очевидное, но сильно затрудненное корявостью и двухэтажностью добавления специальных символов в шелл - это эскейп. Эскейп приходится делать дважды, и беспокоиться о специальном значении символов на двух уровнях.
В общем, получается, что извращение в основном рождается не из питона, а из корявости решений предоставляемых шеллом.
no subject
Date: 2018-03-16 06:17 pm (UTC)Но всё это костыли, которых можно было бы избежать, умей пациент нормально ходить.
Шелл был существенно раньше, значит его особенности стоило учитывать. Даже если постфактум.
Ах, ну что мы, право, тут тряпками машем...