The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В JIT-компиляторе Pyston-lite реализована поддержка Python 3.10, opennews (??), 02-Окт-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


43. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +1 +/
Сообщение от fumanchez (ok), 02-Окт-22, 22:05 
да как раз-таки в структурах и дело, если бы bash был не таким стремным, все бы им и пользовались - что-то парсить в bash это ад

даже как-то подкорректировать выхлоп одной программы средствами баша, чтобы просто перекинуть его в другую, мне лично не удавалось - я просто забивал через полчаса после знакомства с приколами шелла

Ответить | Правка | Наверх | Cообщить модератору

47. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  –1 +/
Сообщение от Аноним (47), 03-Окт-22, 00:03 
Надо было сначала освоить шелл как следует, а уже потом пытаться что-то написать. Читается по диагонали одна книжка и мануалы по мелочи. Все становится просто и понятно.
К питону вы почему-то не ленитесь доки читать. Это другое (тм) похоже.
Ответить | Правка | Наверх | Cообщить модератору

49. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +2 +/
Сообщение от fumanchez (ok), 03-Окт-22, 01:03 
Ну так в процессе освоения я его и забраковал. Функции без аргументов и возврата значения, синтаксис массивов, раскрытие скобочек - хуже реализации не найти. Так оно еще и не портируемое, если речь идет о баше, портируемый только POSIX-шелл.
Ответить | Правка | Наверх | Cообщить модератору

71. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  –1 +/
Сообщение от Аноним (56), 03-Окт-22, 11:03 
Не осилил, так и скажи.
Ответить | Правка | Наверх | Cообщить модератору

97. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +1 +/
Сообщение от fumanchez (ok), 03-Окт-22, 15:08 
Отказался осиливать
Ответить | Правка | Наверх | Cообщить модератору

103. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (56), 03-Окт-22, 20:40 
> Отказался осиливать

Было бы что осиливать, буквально всё описано в единственном туториале (advanced bash scripting guide).

Ответить | Правка | Наверх | Cообщить модератору

104. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от fumanchez (ok), 03-Окт-22, 22:29 
Так проблема в том, что это ничего не дает. Как если бы стоял выбор между гитарой и домброй, домбру бы никто не брал, а полученных навыков игры на гитаре хватит, чтобы будь на то необходимость, что-то сыграть на домбре.
Ответить | Правка | Наверх | Cообщить модератору

105. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (56), 03-Окт-22, 22:54 
Как это не даёт?

Я вот взял написал разные скрипты для контекстных меню в порядке эксперимента. Максимально быстро работают, никаких посторонних зависимостей и "почему опять сломалось, почему оно умерло где мои обновления".

Есть скрипт для конвертации музыки из любых форматов в несколько востребованных. Хочешь по одному файлу конвертируй, хочешь нарезай по cue и проставляй теги (у каждого формата свои теги и штатные утилиты для работы с ними), всё в 1 клик, можно выбрать нужные файлы в фм и отправить их на конвертацию их контекстного меню или более эффективно выбрать конвертацию сразу по числу ядер и это всё простые конструкции с минимумом шелла, накиданные примерно за вечер, на подгон проставлялки тегов ушёл ещё вечер (с ffmpeg за минуту, только ffmpeg никуда не годится). Есть серьёзное подозрение, что монстр на питоне вышел бы не легче и не быстрее (и всё равно пришлось бы дёргать шелл) и куда мене читаемым.

Да и, понимаешь, знание питона не заменит тебе знание шелла. Если ты уже вызываешь шелл из питона, то почему бы не впихнуть в вызов и всю необходимую логику? Она будет работать самостоятельно и не зависеть от твоего питона (особенно актуально в тех случаях, когда питон падает или обламывается где не надо, а вызванные сабпроцессы вполне могут продолжать успешно работать совершенно без лишнего оверхеда по ресурсам и штатно завершиться и это всё с минимумом затрат).

Ответить | Правка | Наверх | Cообщить модератору

109. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Варенье (?), 04-Окт-22, 09:40 
У шелла много проблем с экранированием, поддержкой фич и спецсимволами. Вот, предположим, вы в скриптах завязались на портируемый find, без GNU расширений. Это значит что вы сознательно отказались от \0 разделителей и файлы с переносом строки в имени будут обработаны некорректно. Или вот вы пишете под POSIX sh и хотите массивы — а их нет в спецификации. Или хотите local переменные — а их тоже нет, всё в глобальной видимости. [[ и того в POSIX нет, надо иметь это в виду
Даже если мы полностью переходим на башизмы — там всё равно слишком много способов выстрелить себе в ногу, начиная с маскировки exit кодов в пайпах и в объявлении переменных
Ответить | Правка | Наверх | Cообщить модератору

111. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (56), 04-Окт-22, 10:24 
> начиная с маскировки exit кодов в пайпах и в объявлении переменных

Так разве set и shopt не для этого придумали? Без башизмов действительно несколько больно, но башизмы ничем не хуже любого другого шелла -- у каждого свои особенности. Да и позикс сегодня не имеет значения, никто не будет запускать твой код на AIX без установки баша.

Кстати емнип баш тоже не поддерживает \0 в коде, такой разделитель равноценен пустому. Так что может быть достаточно gnu coreutils и gnu findutils

Ответить | Правка | Наверх | Cообщить модератору

114. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от fumanchez (ok), 04-Окт-22, 12:40 
Примеры у тебя странные - все, что ты назвал это не фичи шелла. Узнать кол-во ядер или запустить процесс условного ffmpeg'а - это можно сделать в практически любом языке.

> Если ты уже вызываешь шелл из питона

Здесь я не понял - шелл вызывается из питона только если ты это сам пропишешь. Как процессы зависят от питона, что нужно сделать, чтобы они упали, и какой оверхед у нас образуется от того, что мы создаем их из питона, мне тоже не очень-то понятно.

Но если что, для своих повседневных нужд я обычно мелкие шелл-скрипты пишу. Если вдруг понадобится какая-то логика попродвинутее, и запускаться это будет пару раз, то пожалуй питон предпочтительнее.

Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

115. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (56), 04-Окт-22, 13:06 
Нормальные примеры. Если надо выполнить какие-то утилиты с какими-то параметрами в зависимости от чего-то (в том числе я всегда люблю обмазаться регулярками), то шел подходит намного лучше, чем питон, для которого нет готовых утилит (ещё чаще готовый код крайне низкого качества) и придётся вызывать тот же самый шел из него. Но ещё тащить целый ворох зависимостей и костылей, там где шел лаконичен и элегантен. Вот в проставлялке тегов у меня 10 этажные операции над массивами и нормально, то что в шелле решается 1 операцией, в питоне решается 20 с кучей скобочек и присвоений.

>Узнать кол-во ядер или запустить процесс условного ffmpeg

В шелле это один вызов xargs с nproc в аргументе.

Ответить | Правка | Наверх | Cообщить модератору

116. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от fumanchez (ok), 04-Окт-22, 13:33 
Ну любовь к регуляркам и 10-этажные операции это уже звучит подозрительно.

> В шелле это один вызов xargs с nproc в аргументе.

Я к тому, что это вообще не определяющий выбор фактор, да и multiprocessing.cpu_count() это тоже один вызов.

В шелле я например не могу нормально обрабатывать содержимое изображений. В питоне есть обертки над ImageMagick и OpenCV, которые в свою очередь обертки над сишным и плюсовым кодом. Если мне надо как-то разбить картинку, малец подретушировать фрагменты для более качественного анализа, проанализировать их - почти все это вызовы функций, которые в шелле максимально кастрированные. Да и для OpenCV вроде даже нет CLI-тулзы.

А вместо однострочного вызова sed для обработки текста я лучше напишу функцию строк на 10, т.к. я потом возможно и не вспомню, что делает эта маска для подстановки. В случае же с функцией, скорее всего, хватит ее названия.

Ответить | Правка | Наверх | Cообщить модератору

117. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (56), 04-Окт-22, 14:13 
Так ничто не мешает писать функции в баше и называть их понятно, как и имена переменных, комментарии. Даже локал скоуп есть. Как-то это притянуто. От седа всё равно не уйдёшь -- в питоне регулярок не меньше использовать приходится, только они менее лаконичные. Насчёт IM не совсем понял. Это обёртки какие-то каличные, а шел интерфейс вполне себе основной. Для работы с изображениями в питоне pil, довольно своеобразный и несколько раз померший. Про opencv в шелле не слышал.

Например, примерно 1, что я написал на баше и до сих пор использую, это скрипт конвертации раздутых файлов в что-нибудь удобоваримое. Там есть определённые тонкости, позволяющие снизить число артефактов при ресайзе, да и файлы которые уже плохие ухудшать нет никакого смысла. Кроме того, не каждый формат подходит для конвертации файлов с использующимся альфа-каналом и прочим. Ну и зачем тут питон? Этот скрипт я в итоге без проблем вызываю для любых данных, хоть единично, хоть пакетно. Конфигурация в отдельном файле, ещё и статистику красиво сообщает в процессе и по результатам (в том числе визуальную оценку потерь). Когда всё=текст и можно исполнить любой текстовый файл, с этим довольно не плохо работать.

Ответить | Правка | К родителю #116 | Наверх | Cообщить модератору

120. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от fumanchez (ok), 04-Окт-22, 14:43 
У этих "функций" даже аргументы назвать нельзя, а из сигнатуры невозможно понять, сколько их всего используется. Регулярки же и sed в первую очередь универсальные, но когда требуется какая-то гибкость и избирательность, они подходят плохо, и основной их минус - они практически write-only. Если есть вариант их не использовать - практически всегда их избегают.

Ну и я тебе привел пример сценария - анализ изображений, где питон дает как минимум тот же самый набор возможностей (то, что обертки плохие, сильно сомневаюсь, у меня лично проблем не было), а средствами шелла эта задача не покрывается.

И в конце концов, все упирается в реализацию, если человек умеет хорошо обращаться с коммандными утилитами, то пусть ими и пользуется. Если он ту же задачу решит на питоне, это не значит, что он решит ее более оптимальным способом - портянки можно сделать где угодно.

Ответить | Правка | К родителю #117 | Наверх | Cообщить модератору

121. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (56), 04-Окт-22, 14:59 
Я пишу в заголовке что-то вроде arg1=$1; arg2=$2; shift 2; или в цикле arg=$1; shift; -- что тут не понять? Напоминает сишечку, в ней тоже описание было не в аргументах. Насчёт универсальности sed не знаю, в питоне тоже будет сразу несколько регулярок -- для одного совпадения, для мультистрочного совпадения и так далее, но каждая регулярка способна выполнить работу над своими данными и, например, что-то сразу удалить не включая в дальнейшую обработку.
Ответить | Правка | К родителю #120 | Наверх | Cообщить модератору

122. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от fumanchez (ok), 04-Окт-22, 15:30 
Это все костыли и велосипеды, а какой-то популярной конвенции, как обращаться с аргументами в shell-скриптах, я не видел. В старом С ты уже сразу видишь в скобках имена этих аргументов, и их количество. То, что идет ниже это просто уточнение типов, а не как у тебя - переприсвание уже имеющихся имен.

И sed, и регулярки имеют еще один минус - они делают сразу большой объем работы за один присест (да и их вызов жирнее по ресурсам, чем простой вызов функции). Не говоря уже о том, что у них у каждого свой синтаксис. Что-то типа foo.lower().substitute('_', '-') гораздо понятнее sed'овских масок (да и я например не знаю, как там привести строку к нижнему регистру, и никогда не узнаю, потому что нахер мне это нужно).

Ответить | Правка | К родителю #121 | Наверх | Cообщить модератору

124. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (56), 04-Окт-22, 16:27 
Не знаю, как мне удобно, так и пишу, многие вон и с башизмов плюются, что не мои проблемы. Можно ещё написать в комментарии, что такое аргументы (когда это более уместно и вменяемые названия не понадобятся для удобочитаемости).

s/\(.*\)/\L\1/;y/-/_/

короче и не хуже

foo.lower().substitute('_', '-')

только непонятно зачем тут сед когда в баше это

foo=${foo//-/_}
foo=${foo,,}

вопрос привычки, конечно, мне сед вполне симпатичен

> сразу большой объем работы за один присест

Да вот только на практике перебрать сразу весь файл нативным кодом в регулярке выходит куда быстрее и эффективнее, чем перебрать файл построчно в скрипте (тем более, с вызовом функций). Там же логика посложнее замены одного паттерна на второй. Обычно скрипту и так уже есть чем заняться, вместо того, чтобы ждать, пока данные обрабатываются (/me искоса смотрит на GIL). Кстати, заменять одиночные символы в питоне емнип куда выгоднее через ''.translate(), если уж делать это.

Ответить | Правка | К родителю #122 | Наверх | Cообщить модератору

126. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от fumanchez (ok), 04-Окт-22, 18:26 
> многие вон и с башизмов плюются, что не мои проблемы

Они плохи тем, что ты сразу можешь и не понять, что это башизм. А узнать ты это можешь в процессе работы с какой-нибудь BSD. В этом плане питон предсказуемее.

> s/\(.*\)/\L\1/;y/-/_/

Это как бы и называется write-only. Все в одном месте - и паттерн, и действия, и аргументы, а разделительный символ в общей массе еле разглядишь.

> Да вот только на практике перебрать сразу весь файл нативным кодом в регулярке выходит куда быстрее и эффективнее, чем перебрать файл построчно в скрипте (тем более, с вызовом функций).

Вызов функции очевидно дешевле создания экземпляра процесса, особенно если это происходит внутри цикла. Да и без каких-то бенчмарков эти рассуждения бессмысленны.

Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

127. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (56), 04-Окт-22, 19:04 
Это далеко не write-only, если понимать написанное. Типичный сед, то, что можно ожидать. У шелла кстати повторный запуск процесса весьма быстрый, не говоря уж о том, что на линуксе эта операция куда дешевле, чем, например, у венды. Но я имел в виду использование предкомпилированного регулярного выражения вместо вызовов функций в цикле, так что процессы тут никаких боком. А в случае шелла запуск и работа будут быстрее питона сами по себе, и да, питон скорее сломается, чем шелл (я только недавно столкнулся с этим в части скриптов, речь даже не об отвалившихся после обновления батарейках).
Ответить | Правка | К родителю #126 | Наверх | Cообщить модератору

128. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от fumanchez (ok), 04-Окт-22, 20:31 
> не write-only, если понимать написанное

Ну да, как если принюхаться, то и не пахнуть не будет. Осталось только убедить в этом окружающих.

> У шелла кстати повторный запуск процесса весьма быстрый, не говоря уж о том, что на линуксе эта операция куда дешевле, чем, например, у венды.

По части запуска процессов в шелле все в порядке, и в общем-то это его основное предназначение, а главная его киллер-фича это перенаправление потоков. Проблема во всем остальном: в качестве языка программирования шелл практически неюзабелен.

Про питон все и так знают, что он медленный, просто какие есть альтернативы из скриптовых языков, которые не встраиваемые, как Lua, а для руления системой?

Ответить | Правка | К родителю #127 | Наверх | Cообщить модератору

63. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от economist (?), 03-Окт-22, 10:43 
Замечание верное - доку надо читать ко всем инструментам. Но есть еще понятие "читаемость кода".

У bash/powershell она заведомо ниже. Такие вещи как циклы, условия, сортировки, файловые/сетевые операции - крайне ненаглядны. Вот, к примеру, нам нужно перебрать все CSV-файлы из папки рекурсивно и посчитать в нем из рублей - валютную цену, в долларах по курсу 60. На Python это просто и читаемо, скрипт пишется за ~1 минуту:

import pandas as pd
import glob
for f in glob.glob('D:/TXT/**/*.csv', recursive=True):
    df = pd.read_csv(f, sep=';')  
    df['вал_цена'] = df.сумма/df.колво/60
    df.to_csv(f)

Поймет этот код и ребенок. На Bash писать не буду. На BAT/CMD из-за одних путей - страшно подумать что придется наворотить, и оно не будет работать на всех окнах Vista7/8/10/11.

А про то чтобы обойти ошибки деления на 0, пустоты и бесконечности - и подавно. Будет простыня кода. Bash - для одно-строчников с утилитами. Для сложной скриптоты - развитые скриптовые кросс-платформенные языки с IDE, которые уже есть везде.
    

Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

69. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  –1 +/
Сообщение от Аноним (56), 03-Окт-22, 11:00 
Если бы данные были в жсоне, это решалось бы куда меньшим числом зависимостей и ровно таким же числом символов за полминуты на баше. Кто вам виноват, что csv ни один адекватный человек не возьмёт, и соответственно нужды работать с эти форматом адекватно нет? Единственная реальная проблема баша в том, что CR и LF в данных окажутся приятным сюрпризом для любителей POSIX.
Ответить | Правка | Наверх | Cообщить модератору

76. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от economist (?), 03-Окт-22, 11:29 
CSV-формат основной (а для 1С, монополиста учетных решений в РФ (>86%) - единственный) способ обмена табличными данными с другим ПО. XML/JSON тут будет хуже или просто недоступен. Python тоже "умеет" в JSON. Примера Баша и PowerShell мы здесь ни от кого не дождемся?  
Ответить | Правка | Наверх | Cообщить модератору

85. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (56), 03-Окт-22, 13:58 
Я не слышал о таком, для json есть jq, который умеет совершать разные операции над потоком. Вот уж что-что, а с околотекстовыми файлами bash прекрасно подходит работать.
Ответить | Правка | Наверх | Cообщить модератору

87. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +1 +/
Сообщение от economist (?), 03-Окт-22, 14:40 
На баше эквивалент py-кода будет в 3 раза длиннее (см. выше мой пример). И во столько же раз непонятнее. И дольше в наборе. И медленнее в исполнении (pandas дергает код на С/Fortran). Но если "солдат спит - служба идет" - о можно и bash-ить, на здоровье. Только дольше. Ветка-то про ускорение.
Ответить | Правка | Наверх | Cообщить модератору

106. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (56), 03-Окт-22, 23:03 
А вот это вовсе не обязательно, питон очень многословный по сравнению с башем заточенным на системное применение. Тот же pandas адово жырный и на подобных задачах максимально всосёт, если сравнивать с чем-нибудь чисто нативным. Ну как xmllint или запустить питон, в котором надо ещё знать про lxml, который вызовет тебе тот же код только с кучей оверхеда.
Ответить | Правка | Наверх | Cообщить модератору

110. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (47), 04-Окт-22, 09:49 
Примитивные скрипты на питоне обычно заменяются шеллом (даже без баша) с сокращением во многие разы. Обычно можно превратить в однострочник. Потому что я хорошо знаю шелл с одной стороны, и средний питонист плох в программировании, с другой.
Ответить | Правка | К родителю #87 | Наверх | Cообщить модератору

112. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от economist (?), 04-Окт-22, 10:41 
Скрипты на шелле/баше заменяются на Python - да, такое явление стало сейчас массовым в сисадминстве, датасатанизме, IP-телефонии.

Обобщаете про средних питонистов, нехорошо. У нас, "средних питонистов", совершенно незашквар использовать awk или grep в Linux вместо pandas. Но pandas, блин, оказывается как правило быстрее башей за счет чанков и векторизации вычислений на С/Fortran, причем разница в скорости - сотни раз!

Я понимаю что айтишникам спешить некуда, их работу никто не понимает и оценить не может, но если такой работы много - приходится спешить даже им.

Bash много не умеет - не сделает вам высокоплотное колоночное хранилище с прогрессивным сжатием (LZMA итд), не нарисует график, не сформирует лог. Вернее он может все, но это сложно отлаживаемые простыни кода, которые структурировать крайне сложно. Держать баш-код в Git? - крайне редко. Документация - единична. Тесты - никогда. Но однострочники - да, для него.

Ответить | Правка | Наверх | Cообщить модератору

119. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от mikhailnov (ok), 04-Окт-22, 14:33 
> Тесты - никогда.

Я часто пишу тесты к функциям на bash, проблемы нет ни код написать с разбивкой по функциям, а не одной большой портянкой, ни написать тесты.

Ответить | Правка | Наверх | Cообщить модератору

101. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от mikhailnov (ok), 03-Окт-22, 20:24 
CSV+bash:

line="c1;c2;c3"
IFS=";" read -r -a arr <<< "$line"
echo "${arr[0]}" #выведет: c1

А вот JSON bash'ем парсить... пробовал, не советую.
Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

113. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от economist (?), 04-Окт-22, 10:46 
Ну раз кто-то кроме меня рискнул написать в ветке код - вызов принят! То же самое на Python -

CSV+python:

"c1;c2;c3".split(';')[0]  # выведет: c1

Ответить | Правка | Наверх | Cообщить модератору

118. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от mikhailnov (ok), 04-Окт-22, 14:29 
> Ну раз кто-то кроме меня рискнул написать в ветке код - вызов
> принят! То же самое на Python -
> CSV+python:
> "c1;c2;c3".split(';')[0]  # выведет: c1

Так читабельнее, спору нет.

Ответить | Правка | Наверх | Cообщить модератору

131. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от myhand (ok), 05-Окт-22, 07:17 
Может просто не надо было извращаться?

$ cut -f1 -d';' <<EOF
> c1;c2;c3
> EOF

c1

Будет еще и работать везде, в отличие от.

Ответить | Правка | Наверх | Cообщить модератору

132. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от mikhailnov (ok), 05-Окт-22, 09:23 
> Может просто не надо было извращаться?
> $ cut -f1 -d';' <<EOF
>> c1;c2;c3
>> EOF
> c1
> Будет еще и работать везде, в отличие от.

Для разовой операции существенной разницы нет. Но, если это делается очень много раз, то разница будет ощутимой за счет экономии на запуске внешнего процесса.

Ответить | Правка | Наверх | Cообщить модератору

135. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от myhand (ok), 06-Окт-22, 07:12 
Так read - тоже внешний процесс.  На свете есть не только баш вообще-то...
Ответить | Правка | Наверх | Cообщить модератору

138. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от mikhailnov (ok), 06-Окт-22, 13:02 
Могу позволить себе поставить баш и не ориентироваться на совместимость с POSIX-шеллом )
Ответить | Правка | К родителю #135 | Наверх | Cообщить модератору

123. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от 1 (??), 04-Окт-22, 15:35 
Угу ... а потом, кто-то в заголовке csv файла поставит пробел в имени поля.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

129. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от economist (?), 04-Окт-22, 23:03 
И только Python по умолчанию все (любые) пробельные символы добавляет к разделителю (их аж 6 штук), поэтому другие ЯП (не скажу за все, но многие) - тут сольются.
Ответить | Правка | Наверх | Cообщить модератору

81. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  –2 +/
Сообщение от Аноним (-), 03-Окт-22, 12:29 
>что-то парсить в bash это ад

А не надо собственно парсить, шелл не для этого, а для управления процессами, одним из которых может быть awk, другой sed, третий grep, четвёртый cut.

Тем не менее, если чуть-чуть подумать, можно и самый настоящий парсер написать с помощью coreutils, прецеденты были.

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

94. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от Аноним (92), 03-Окт-22, 14:59 
> если чуть-чуть подумать
> прецеденты были.

ну-ка, ну-ка, продемонстрируй (inb4 ничего не покажешь, кроме собственной тупости)

Ответить | Правка | Наверх | Cообщить модератору

102. "В JIT-компиляторе Pyston-lite реализована поддержка Python 3..."  +/
Сообщение от mikhailnov (ok), 03-Окт-22, 20:26 
Не проблема сделать такой парсер, но в нем сможет разобраться не только лишь каждый, даже сам автор не вспомнит, как такое чудо из bash, sed, awk, cut и т.д. работает.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру