Информация об изменениях

Сообщение Re[15]: Убунта от 20.12.2019 8:06

Изменено 20.12.2019 8:07 Somescout

Re[15]: Убунта
Здравствуйте, netch80, Вы писали:

S>>Да я же вроде написал "В питоне проблемы наступают уже при попытке запуска внешней программы и захвата её результата". Но если надо, вот подробнее:

S>>python — https://stackoverflow.com/a/4760517
S>>powershell:
$result = ls -l


N>Так я не понял, что не так с питоном? По каким-то причинам рекомендуют более новый подход, да, где он есть. Но весь старый работает без проблем — и через Popen с явным чтением из его stdout, и через check_output. Оба работают без проблем, и рекомендации только в стиле. Это, кстати, даже через проблемный переход 2->3, с которым действительно начудили, потому что не захотели сделать его более мягко.


Давайте возьмём чуть более сложный код:
$result = ls -l | ? { $_ -like '*something*' } | sort

Вызываем внешнюю программу "ls" с параметром "-l", фильтруем средствами языка её вывод, по конвееру передаём результат внешней программе, ложим получившееся в переменную $result.
Можно пример как такое оформить на питоне?

N>Конечно, на примерах типа `ls -l` будет всё гладко, а вот различишь ли ты в нём ls -l $X и ls -l "$X" (тут и дальше — в синтаксисе B-шеллов, включая bash)?

powershell позволяет оба подхода.

N>ls -l $*, ls -l "$*" и ls -l "$@"? Что является аналогом в powershell, есть ли оно вообще? И сколько нужно читать документации на powershell, чтобы научиться тому, как в нём это делается?

& ls -l $args[code]
[code]& ls -l "$args"

Насчёт последнего — что значит $@?

N>Ответ прошу со ссылками и прочими важными деталями.

help about_Automatic_Variables
help about_Parameters
help about_Operators


S>>>> регистрозависимость нужна потому что это стильно-модно-молодёжно, в отлиичии от устаревшей и используемой для совместимости регистронезависимой ФС.

N>>>Ничего, что это "стильно-модно-молодёжно" появилось даже до FAT12?
S>>Что же вы тогда про регистронезависимость говорите что "и только Windows занимается маразмом ради совместимости с древними ошибками", если ваша ошибка ещё древнее?

N>Именно потому, что ошибкой является CI в именах файлов, а не CS.


Почему? Именно регистрозависимость вносит дополнительную бесполезную сущность. От правильность заводить файлы различающиеся только регистром вы отнекиваетесь выше, но при этом отстаиваете необходимость считать имена с разным регистром — разными. В чём смысл этого?
Re[15]: Убунта
Здравствуйте, netch80, Вы писали:

S>>Да я же вроде написал "В питоне проблемы наступают уже при попытке запуска внешней программы и захвата её результата". Но если надо, вот подробнее:

S>>python — https://stackoverflow.com/a/4760517
S>>powershell:
$result = ls -l


N>Так я не понял, что не так с питоном? По каким-то причинам рекомендуют более новый подход, да, где он есть. Но весь старый работает без проблем — и через Popen с явным чтением из его stdout, и через check_output. Оба работают без проблем, и рекомендации только в стиле. Это, кстати, даже через проблемный переход 2->3, с которым действительно начудили, потому что не захотели сделать его более мягко.


Давайте возьмём чуть более сложный код:
$result = ls -l | ? { $_ -like '*something*' } | sort

Вызываем внешнюю программу "ls" с параметром "-l", фильтруем средствами языка её вывод, по конвееру передаём результат внешней программе, ложим получившееся в переменную $result.
Можно пример как такое оформить на питоне?

N>Конечно, на примерах типа `ls -l` будет всё гладко, а вот различишь ли ты в нём ls -l $X и ls -l "$X" (тут и дальше — в синтаксисе B-шеллов, включая bash)?

powershell позволяет оба подхода.

N>ls -l $*, ls -l "$*" и ls -l "$@"? Что является аналогом в powershell, есть ли оно вообще? И сколько нужно читать документации на powershell, чтобы научиться тому, как в нём это делается?

& ls -l $args

& ls -l "$args"

Насчёт последнего — что значит $@?

N>Ответ прошу со ссылками и прочими важными деталями.

help about_Automatic_Variables
help about_Parameters
help about_Operators


S>>>> регистрозависимость нужна потому что это стильно-модно-молодёжно, в отлиичии от устаревшей и используемой для совместимости регистронезависимой ФС.

N>>>Ничего, что это "стильно-модно-молодёжно" появилось даже до FAT12?
S>>Что же вы тогда про регистронезависимость говорите что "и только Windows занимается маразмом ради совместимости с древними ошибками", если ваша ошибка ещё древнее?

N>Именно потому, что ошибкой является CI в именах файлов, а не CS.


Почему? Именно регистрозависимость вносит дополнительную бесполезную сущность. От правильность заводить файлы различающиеся только регистром вы отнекиваетесь выше, но при этом отстаиваете необходимость считать имена с разным регистром — разными. В чём смысл этого?