Здравствуйте, Somescout, Вы писали:
N>>Ну хоть ма-аленький образчик того, что делается на PS лучше, чем на питоне?
N>>Или "То есть ответа не будет" ((c) Somescout)?
S>Да я же вроде написал "В питоне проблемы наступают уже при попытке запуска внешней программы и захвата её результата". Но если надо, вот подробнее:
S>python — https://stackoverflow.com/a/4760517
S>powershell: $result = ls -l
Так я не понял, что не так с питоном? По каким-то причинам рекомендуют более новый подход, да, где он есть. Но весь старый работает без проблем — и через Popen с явным чтением из его stdout, и через check_output. Оба работают без проблем, и рекомендации только в стиле. Это, кстати, даже через проблемный переход 2->3, с которым действительно начудили, потому что не захотели сделать его более мягко.
Или не нравится необходимость выделять аргументы раздельно? Можно обойтись без этого через `shell = True`, но в общем случае это менее полезно, особенно при неизвестных аргументах.
S>И при этом как правильно запускать шелл-процесс (т.е. с разбором команды именно в стиле баша) в питоне без документации не разберёшься
В смысле, чтобы баш переразобрал команду? Тогда shell = True в вызове чего угодно из модуля subprocess, а чтобы не было проблем с инжекцией аргументов — shlex.quote(). А при чём тут "без документации", если запуск внешней команды тут будет проблемой с любым средством и стилем?
Конечно, на примерах типа `ls -l` будет всё гладко, а вот различишь ли ты в нём ls -l $X и ls -l "$X" (тут и дальше — в синтаксисе B-шеллов, включая bash)?
ls -l $*, ls -l "$*" и ls -l "$@"? Что является аналогом в powershell, есть ли оно вообще? И сколько нужно читать документации на powershell, чтобы научиться тому, как в нём это делается?
Ответ прошу со ссылками и прочими важными деталями.
N>>На подобный домысел? Конечно, не будет — пока не будет нормального вопроса. А так — я уже отвечал в этой теме.
S>"То есть ответа не будет" ((c) Somescout)
Ну да, пока корректного вопроса не будет — ответа не жди.
S>>> регистрозависимость нужна потому что это стильно-модно-молодёжно, в отлиичии от устаревшей и используемой для совместимости регистронезависимой ФС.
N>>Ничего, что это "стильно-модно-молодёжно" появилось даже до FAT12?
S>Что же вы тогда про регистронезависимость говорите что "и только Windows занимается маразмом ради совместимости с древними ошибками", если ваша ошибка ещё древнее?
Именно потому, что ошибкой является CI в именах файлов, а не CS.