|
Python для разработчика, зачем? |
|
|
|
 |
Ответов
|
Mar 14 2018, 13:37
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(dxp @ Mar 14 2018, 16:59)  Ну, питон с луной сравнивать как бы не совсем правильно. А вот как объемлющий-расширяемый язык питон имеет преимущества - более гибок (у луны по сути один тип на все случаи), тут не соглашусь, с метатаблицами у луа ещё посмотреть надо что там более гибкое. Цитата(dxp @ Mar 14 2018, 16:59)  несравнимо большее количество библиотек, прекрасно расширяется через С++ (так, что плюсовые объекты напрямую доступны из питона с очень хорошей производительностью - проводил замеры, т.к. нам было критично) сообщество намного шире. тут пожалуй да, но есть ffi, swig, так что не самая большая проблема. Цитата(dxp @ Mar 14 2018, 16:59)  Т.ч. луна - встраиваемый язык, а питон - язык-манагер (фронтэнд). ну не знаю чем тут луа хуже дергать сторонние библиотеки, а вот с jit по скорости можно даже требовательные по скорости вычисления задачи решать прямо. церн вон в части задач с питона перелез: https://mediastream.cern.ch/MediaArchive/Vi...ftime=00:13:25#Цитата(dxp @ Mar 14 2018, 16:59)  Ну, это ж специализированный тул, это скорее тот же computational notebook, а питон - язык общего назначения. ну это не я в качестве примера Jupyter привел  Цитата(dxp @ Mar 14 2018, 16:59)  Для широкого класса задач специализированный проиграет. математика по сравнению с питоном класс задач может решать думаю не менее широкий. Цитата(dxp @ Mar 14 2018, 16:59)  Одно из важнейших достоинств питона состоит в том, что его код понимает большинство людей, знакомых с программированием, даже без особой подготовки. это только пока код выглядит как for i = 1, 10 a = b + c а как только что-нибудь посерьёзнее, особенно если какие-нибудь учОные пишут что-нибудь для расчётов - тут всё.
|
|
|
|
|
Mar 15 2018, 03:09
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(_pv @ Mar 14 2018, 20:37)  тут не соглашусь, с метатаблицами у луа ещё посмотреть надо что там более гибкое. Да, всего один тип - ассоциативный массив. В питоне - это словарь. Помимо него есть ещё списки, кортежи, строки, простые типы и классы. Согласитесь, арсенал средств куда богаче. Цитата(_pv @ Mar 14 2018, 20:37)  тут пожалуй да, но есть ffi, swig, так что не самая большая проблема. Cюда загляните.  И это только один из наборов библиотек для научно-инженерных задач. Помимо этого ещё есть биндинг OpenCV (cv2), PyQt/PySide для разработки полноценных приложений. Кроме того, и стандартная библиотека питона исключительно богата и разнообразна - вплоть до таких "мелочей", как модуль парсинга аргументов (argparse). Цитата(_pv @ Mar 14 2018, 20:37)  ну не знаю чем тут луа хуже дергать сторонние библиотеки Тем, что их набор гораздо беднее. Например, можете написать на Lua полноценное GUI приложение, приём без извратов, а прямым путём, как на тех же плюсах? Сомневаюсь. И дело тут не в языке как таковом, с ним всё в порядке, а существовании для этого соответствующих графических фреймворков, приспособленных под этот язык. Всё-таки Lua проектировался как встраиваемый язык, в этом его сила. Его конкурент - JavaScript. Да, на обоих языках можно писать stand-alone приложения. Но до возможностей питона этом поприще им обоим далеко - повторюсь, не по причине, что языки ущербные (нормальные языки), а по причине отсутствия соответствующего контекста для этого, который не возник из-за иной целевой направленности обоих этих языков. Цитата(_pv @ Mar 14 2018, 20:37)  , а вот с jit по скорости можно даже требовательные по скорости вычисления задачи решать прямо. Ну, jit - отдельная тема. Для питона тоже есть способы увеличения производительности вычислений - от прямого расширения на С/C++ и до применения CUDA (scikit-cuda, есть по ссылке выше), включая компиляцию модулей Cython, jit и прочее. Кстати, если упирать на вычисления, то тут альтернативу питону составляет скорее Julia (убийца матлаба  ), а не Lua. Вот там нативный jit с возможностью доступа до ассемблера и встроенная в язык фича по распределению вычислений на удалённые хосты/фабрики. Цитата(_pv @ Mar 14 2018, 20:37)  ну это не я в качестве примера Jupyter привел  Ясно. В качестве вычислительного блокнота математика сильна, спору нет, это её ниша. Но в качестве языка общего назначения ей тягаться с языком общего назначения тяжело. Цитата(_pv @ Mar 14 2018, 20:37)  математика по сравнению с питоном класс задач может решать думаю не менее широкий. И что, на ней можно и удобно писать утилиты командной строки работы с текстами и файлами? На ней можно и удобно писать законченные приложения? Что на ней можно делать так же легко, как и на питоне, кроме вычислений? Цитата(_pv @ Mar 14 2018, 20:37)  это только пока код выглядит как for i = 1, 10 a = b + c а как только что-нибудь посерьёзнее, особенно если какие-нибудь учОные пишут что-нибудь для расчётов - тут всё. Код не валиден для питона.  Ну, покажите учОный код?
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Mar 15 2018, 10:14
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(dxp @ Mar 15 2018, 10:09)  Да, всего один тип - ассоциативный массив. В питоне - это словарь. Помимо него есть ещё списки, кортежи, строки, простые типы и классы. Согласитесь, арсенал средств куда богаче. Тут дальше спор будет становиться всё более бессмысленным, потому что похоже что питон я знаю так же хорошо, как вы луа  Есть там строки, а благодаря метатаблицам в луа есть и классы, списки, кортежи, и выносить их в отдельные сущности нет особого смысла, но они там есть. Цитата(dxp @ Mar 15 2018, 10:09)  Cюда загляните.  И это только один из наборов библиотек для научно-инженерных задач. Помимо этого ещё есть биндинг OpenCV (cv2), PyQt/PySide для разработки полноценных приложений. Кроме того, и стандартная библиотека питона исключительно богата и разнообразна - вплоть до таких "мелочей", как модуль парсинга аргументов (argparse). Биндинги для openCV и Qt есть и для луа, для того чтобы звать сторонние библиотеки, питон ничем особо не лучше. Да, стандартная библиотека у луа, мягко говоря довольно скромная, и для питона библиотек заметно больше, но у луа не настолько всё плохо. И раз в ванильные аж целых 200кБ не напихали всего-всего не значит что совсем ничего нет. Цитата(dxp @ Mar 15 2018, 10:09)  Тем, что их набор гораздо беднее. Например, можете написать на Lua полноценное GUI приложение, приём без извратов, а прямым путём, как на тех же плюсах? Сомневаюсь. И дело тут не в языке как таковом, с ним всё в порядке, а существовании для этого соответствующих графических фреймворков, приспособленных под этот язык. Всё-таки Lua проектировался как встраиваемый язык, в этом его сила. Его конкурент - JavaScript. Да, на обоих языках можно писать stand-alone приложения. Но до возможностей питона этом поприще им обоим далеко - повторюсь, не по причине, что языки ущербные (нормальные языки), а по причине отсутствия соответствующего контекста для этого, который не возник из-за иной целевой направленности обоих этих языков. Для луа так же есть как и совсем простые iuplua и fltk, так и wxWidgets и Qt. Как пример, IDE для lua на lua же написанной, https://studio.zerobrane.com/featuresДа и всякие löve, corona. А вот как будет выглядеть полноценное GUI приложение на питоне, ну чтобы его просто взял скачал и запустил обычный пользователь, да ещё и под виндами, или вообще каким-нибудь андроидом? Ну и про нормальность javasripta это очень спорное утверждение  Цитата(dxp @ Mar 15 2018, 10:09)  Ну, jit - отдельная тема. Для питона тоже есть способы увеличения производительности вычислений - от прямого расширения на С/C++ и до применения CUDA (scikit-cuda, есть по ссылке выше), включая компиляцию модулей Cython, jit и прочее. Продолжим фаллометрию, lua-torch, terracuda Цитата(dxp @ Mar 15 2018, 10:09)  И что, на ней можно и удобно писать утилиты командной строки работы с текстами и файлами? На ней можно и удобно писать законченные приложения? Что на ней можно делать так же легко, как и на питоне, кроме вычислений? Да можно там и законченные приложения, и в веб, и гуй свой какой никакой есть. приташит только свой рантайм на многие сотни МБ, впрочем как и питон. Не то чтобы удобно, но вот облагородить какую-нибудь считалку кнопочками/окошками чтобы хоть кто-нибудь кроме автора пользоваться мог, вполне может оказаться проще, чем перетаскивать в тот же питон всю "арфметическую" часть из математики. Но да, как замена какому-нибудь awk/sed, конечно не самая подходящая
|
|
|
|
|
Mar 15 2018, 10:37
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(_pv @ Mar 15 2018, 17:14)  Есть там строки, а благодаря метатаблицам в луа есть и классы, списки, кортежи, и выносить их в отдельные сущности нет особого смысла, но они там есть. Ну, самодельные костыли всё же не так удобны, безопасны и просты для понимания и использования, как встроенные в язык средства. Цитата(_pv @ Mar 15 2018, 17:14)  А вот как будет выглядеть полноценное GUI приложение на питоне, ну чтобы его просто взял скачал и запустил обычный пользователь, да ещё и под виндами, или вообще каким-нибудь андроидом? Выглядеть будет обычно. Конечно, рантайм ему потребуется. У меня есть опыт только с Qt, так вот когда я запускал программу под вендой, мне достаточно было установить питон и PyQt, дальше всё запустилось без вопросов. Для венды придётся слепить инсталлятор, который установит вышеупомянутое, но инсталляторы для венды - обычное дело. Цитата(_pv @ Mar 15 2018, 17:14)  Ну и про нормальность javasripta это очень спорное утверждение  Однако на нём успешно пишут приложения (Node.js). И жабоскрипные приложения мне попадались много чаще, чем на луа. Цитата(_pv @ Mar 15 2018, 17:14)  Да можно там и законченные приложения, и в веб, и гуй свой какой никакой есть. Ну, так вон народ и на Tcl лабает приложения, и объекто-ориентированные, и с гуями... Но, полагаю, вы не будете сторонником этого подхода.  Цитата(_pv @ Mar 15 2018, 17:14)  Но да, как замена какому-нибудь awk/sed, конечно не самая подходящая  О, а я на питон как раз внимание обратил именно из-за того, что эти оба так достали при обработке многострочных текстов. Собственно, питон именно для этих случаев и начал использовать. А потом пошло-поехало - сперва простые утилиты, потом как интерактивная среда для вычислений, исследований, а потом и полноценные GUI приложения. До момента знакомства с питоном утилиты писал на С++, с тех пор исключительно на питоне. Цитата(_pv @ Mar 15 2018, 17:14)  Тут дальше спор будет становиться всё более бессмысленным, потому что похоже что питон я знаю так же хорошо, как вы луа  Согласен.  Поэтому не буду. (Lua изучал поверхностно - исключительно с целью ковырять плагины для mc).
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Mar 15 2018, 17:33
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(dxp @ Mar 15 2018, 17:37)  Ну, самодельные костыли всё же не так удобны, безопасны и просты для понимания и использования, как встроенные в язык средства. это не костыли, а именно средства языка, которые позволяют копать, ну или не копать, надо ООП и наследование - пожалуйста. Цитата(dxp @ Mar 15 2018, 17:37)  Выглядеть будет обычно. Конечно, рантайм ему потребуется. У меня есть опыт только с Qt, так вот когда я запускал программу под вендой, мне достаточно было установить питон и PyQt, дальше всё запустилось без вопросов. Для венды придётся слепить инсталлятор, который установит вышеупомянутое, но инсталляторы для венды - обычное дело. ну то есть для совсем простого приложения которое пусть, например, не знаю id3 tagи от mp3 анализирует/сортирует, но с совсем простым гуём, придётся не одну сотню МБ скачать. да, объёмы дисков нынче в терабайтах измеряются, а скорости интернета в десятках и сотнях мбит, но как-то всё равно некрасиво. помнится как-то понадобилось посмотреть некий специфичный софт для расчётов, на питоне, будучи с ним совсем не знаком, сначала по совету сдуру поставил какую-то анаконду, ещё как оказалось не той 2/3 версии. а потом оно ещё попросило определённую версию MSVC, чтобы какую-то из зависимых библиотек вроде scipy или чего-то похожего пересобрать. вот это сходил за хлебушком, а надо-то было совсем какую-то простую вещь сделать. Цитата(dxp @ Mar 15 2018, 17:37)  Однако на нём успешно пишут приложения (Node.js). И жабоскрипные приложения мне попадались много чаще, чем на луа. тем не менее не могу назвать ни одно приложение на node.js, которым бы именно приходилось пользоваться. Цитата(dxp @ Mar 15 2018, 17:37)  Ну, так вон народ и на Tcl лабает приложения, и объекто-ориентированные, и с гуями... Но, полагаю, вы не будете сторонником этого подхода.  да если гуи совсем простые вроде нескольких полей ввода и пары кнопок, то без разницы на чём делать и весь Qt для этого совсем не нужен. Цитата(dxp @ Mar 15 2018, 17:37)  О, а я на питон как раз внимание обратил именно из-за того, что эти оба так достали при обработке многострочных текстов. Собственно, питон именно для этих случаев и начал использовать. А потом пошло-поехало - сперва простые утилиты, потом как интерактивная среда для вычислений, исследований, а потом и полноценные GUI приложения. До момента знакомства с питоном утилиты писал на С++, с тех пор исключительно на питоне. аналогично, только с lua и mathematica пришлось познакомиться из-за femm и radia для магнитостатики, а потом как-то затянуло.
|
|
|
|
|
Mar 16 2018, 08:52
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(_pv @ Mar 16 2018, 00:33)  это не костыли, а именно средства языка, которые позволяют копать, ну или не копать, надо ООП и наследование - пожалуйста. Что сделать-то можно, не сомневаюсь. Вон люди на С в ООП стиле пишут, вполне работает. Но вопрос цены: удобство, безопасность, прозрачность и т.д. Хочется узнать поподробнее, как это выглядит на практике. Например, в питоне класс: Код class TSlon a = 5 def __init__(self): self.b = 10
...
slon = TSlon()
a = slon.a + slon.b # a: 15 Далее, наследование: Код class TMamont(TSlon): def __init__(self): super().__init__()
def add(self, x): self.a += x
...
mamont = TMamont()
mamont.add(4) # mamont.a: 9 Как подобный код выглядит на Lua? Не измерения ради, а правда любопытно, как это реализовывается на языке, где нет встроенной поддержки таких средств. Цитата(_pv @ Mar 16 2018, 00:33)  ну то есть для совсем простого приложения которое пусть, например, не знаю id3 tagи от mp3 анализирует/сортирует, но с совсем простым гуём, придётся не одну сотню МБ скачать. Зачем? Нужен сам питон и графические либы (Qt, wxWidgets или что там используется). В линухах питоны есть "искаропки", для венды придётся скачать. Инсталлятор для 64-битной версии: Python 2.7 что-то порядка 20 МБ, 3.6 - 30 МБ. Далее, сами графические либы - это преимущественно динамические библиотеки (dll/so), они нужны будут в любом случае для любого языка - в т.ч. и для С/С++, если только не собрать статически. Графический фреймворк PyQt5 вытягивается одной командой через pip (типа менеджера пакетов питона). Для венды питоновое приложение можно собрать с помощью PyInstaller, который родит самодостаточный exe-шник. Да, размер тоже будет не 20 байт, где-то от полутора мегов, насколько помню, давно уже ничего такого не собирал. Не тянет совсем. Цитата(_pv @ Mar 16 2018, 00:33)  помнится как-то понадобилось посмотреть некий специфичный софт для расчётов, на питоне, будучи с ним совсем не знаком, сначала по совету сдуру поставил какую-то анаконду, ещё как оказалось не той 2/3 версии. а потом оно ещё попросило определённую версию MSVC, чтобы какую-то из зависимых библиотек вроде scipy или чего-то похожего пересобрать. вот это сходил за хлебушком, а надо-то было совсем какую-то простую вещь сделать. Ну, тут у меня понимания не возникает. Это обычное дело, когда погружаетесь в какую-то область. Отвлечённо: чтобы подвинуть дорожку в печатной плате, разработанной в Altium, таки придётся тянуть и ставить оный пакет. А всего-то хотелось какой-то мелочи. Anaconda - это сборка Python + набор библиотек для научных расчётов, влючая Numpy, Matplotlib, IDE a-la Matlab Spyder, и прочее. Я предпочитаю ставить все эти штуки по отдельности по мере надобности, но на венде анаконда - пожалуй, единственный нормальный путь, быстро и без лишнего геморроя. И не такая уж она и огромная на фоне современных САПР. Матлаб тот же толще. Цитата(_pv @ Mar 16 2018, 00:33)  тем не менее не могу назвать ни одно приложение на node.js, которым бы именно приходилось пользоваться. Мне вот этим довелось попользоваться. Правда, не всё устраивало, а поправить под себя эффективно не мог (не владею инструментом), поэтому идею позаимствовал и реализовал на питоне.  На Lua самостоятельных приложений видеть не доводилось, и ни разу не замечал, чтобы кто-то ими пользовался. А вот встроенные (плагины) - сплошь и рядом. Согласитесь, что по количеству и разнообразию самостоятельных приложений питон и луа сравнивать не приходится. Как и по количеству встраиваемых (но уже с обратным приоритетом). И это неспроста. Всякому инструменту - своя ниша. P.S. Я не спора для пишу посты сюда, мне правда интересно. Есть желание научиться встраивать Lua в приложения на C/C++. Если у вас есть подобный опыт, можете посоветовать что-нибудь для старта (ну, ссылки с внятным освещением вопроса или примерчик простейший - типа, программа на С с main, и из неё вызывать функцию на Lua)?
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Mar 16 2018, 09:35
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(dxp @ Mar 16 2018, 10:52)  Мне вот этим довелось попользоваться. Правда, не всё устраивало, а поправить под себя эффективно не мог (не владею инструментом), поэтому идею позаимствовал и реализовал на питоне.  Хотел бы я посмотреть на реализацию на питоне вот такой идеи - https://habrahabr.ru/post/327628/ . Похожая тема, но гораздо полезней для разработчиков. Нет, что ни говорите, а экосистема питона включая либы просто эрзац более продвинутых решений. В embedded гораздо выгоднее изучать и применять JavaScript. Он и в микроконтроллеры встраивается, и WEB GUI на нем делают, и кросплатформенные приложения и серверные.
|
|
|
|
|
Mar 16 2018, 10:02
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(AlexandrY @ Mar 16 2018, 16:35)  Хотел бы я посмотреть на реализацию на питоне вот такой идеи - https://habrahabr.ru/post/327628/ . Напишите на питоне и увидите. Цитата(AlexandrY @ Mar 16 2018, 16:35)  Похожая тема, но гораздо полезней для разработчиков. Ни разу не похожая. А похожая лежит тут. Цитата(AlexandrY @ Mar 16 2018, 16:35)  Нет, что ни говорите, а экосистема питона включая либы просто эрзац более продвинутых решений. Если хочется покозырять умением выдрать из pdf данные и сгенерить целевые файлы, вот вам задание: SoC Xilinx Zynq-7000, вендор не озаботился составлением заголовочных файлов для периферии СнК. Поэтому приходится выполнять эту работу самостоятельлно. Файл документации, вторая его половина содержит таблицы с описаниями регистров кристалла. Задача: распарсить таблицы, извлечь информацию и родить набор заголовочных файлов для всех периферийных устройств. На питоне эта задача выполнена, результат тут. Три набора файлов (разные стили - макросами, перечислениями и константами). Покажите всю мощь и мастерство владения дельфями?
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Mar 17 2018, 09:57
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(dxp @ Mar 16 2018, 12:02)  Задача: распарсить таблицы, извлечь информацию и родить набор заголовочных файлов для всех периферийных устройств. На питоне эта задача выполнена, результат тут. Три набора файлов (разные стили - макросами, перечислениями и константами). Покажите всю мощь и мастерство владения дельфями? Я бы рад, но вы здесь здорово присочинили. Посмотрите документацию по вашей ссылке и там не найдете имен использованных в хидерах. Вас кто-то ввел в заблуждение. Это на самом деле было сделано вручную, скрипты если и были, то на этапе выравнивания синтаксиса.
|
|
|
|
|
Mar 19 2018, 13:32
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(dxp @ Mar 17 2018, 13:43)  Каких имён? Имен регистров. Но что-то тема заглохла. Мне показалась интересной идея формировать хидеры из PDF-ов. И я для начала сварганил вот такой тестер регулярный выражений - https://github.com/Indemsys/Regular-Expression-TesterДля тестирования реально больших файлов. В десятки мегабайт. Интересно кто на питоне может так же быстро сделать такой интерактивный тестер. Кстати потом и по скорости могли бы помериться, как раз на даташитах.
|
|
|
|
|
Mar 20 2018, 02:59
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(AlexandrY @ Mar 19 2018, 20:32)  Имен регистров. В данном случае это не важно - не требуется получить правильную рабочую реализацию. Там нет имён в таблицах только в считанных случаях, в основном они есть. Можно взять модуль, где нет пропусков. Если хочется сделать как следует, то имена можно дописать (так и было сделано в конечном итоге, и это и заняло основное время). Но парсинг таблиц и формирование выходных заголовочных файлов были выполнены скриптом на питоне. Парсер файлов, аналогичный вашему, на питоне писать не интересно - разбором текста там будет заниматься стандартная библиотека re, которая внутри реализована очень эффективно. GUI лепить тоже интереса нет, как и сохранять всё это в формате M$ Access. На практике куда удобнее и эффективнее пакетная обработка - скормил утилите файл, она выдала результат в виде файла (файлов). Кстати, приоткрою завесу: формирование заголовочных файлов из того PDF выполнялось именно по такой схеме - пакетно. Конкретно было так: сначала PDF был преобразован в текстовый файл, далее шёл ручной этап - дополнение недостающих имён. И после этого парсинг описаний, таблиц и формирование всех трёх наборов заголовков. Текстовый файл, насколько помню, весил порядка 2.5 МБ (50+ тыс. строк). Никаких проблем не возникло.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Mar 21 2018, 06:03
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(dxp @ Mar 20 2018, 04:59)  Парсер файлов, аналогичный вашему, на питоне писать не интересно - разбором текста там будет заниматься стандартная библиотека re, которая внутри реализована очень эффективно. GUI лепить тоже интереса нет, как и сохранять всё это в формате M$ Access. На практике куда удобнее и эффективнее пакетная обработка - скормил утилите файл, она выдала результат в виде файла (файлов).
Кстати, приоткрою завесу: формирование заголовочных файлов из того PDF выполнялось именно по такой схеме - пакетно. Конкретно было так: сначала PDF был преобразован в текстовый файл, далее шёл ручной этап - дополнение недостающих имён. И после этого парсинг описаний, таблиц и формирование всех трёх наборов заголовков. Текстовый файл, насколько помню, весил порядка 2.5 МБ (50+ тыс. строк). Никаких проблем не возникло. В Delphi регулярные выражения - это тоже стандартная библиотека и даже мощнее чем в питоне. Про GUI я даже не буду спорить. Преимущества GUI в повышении личной производительности очевидны еще со времен Windows 3.1. А вот роль MS Acсess наверно даже не поняли. Но об этом позже расскажу. И тоже приоткрою завесу. Чтобы еще быстрее и более автоматизировано парсить PDF-ы их надо переводить в HTML, а не в plain text.
|
|
|
|
|
Mar 21 2018, 23:56
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(AlexandrY @ Mar 21 2018, 13:03)  В Delphi регулярные выражения - это тоже стандартная библиотека и даже мощнее чем в питоне. Пруф насчёт мощнее? Цитата(AlexandrY @ Mar 21 2018, 13:03)  Про GUI я даже не буду спорить. Преимущества GUI в повышении личной производительности очевидны еще со времен Windows 3.1. Несомненно, особенно, когда надо выполнить много однотипных действий, инициируемых простым запуском программы, тут без гуя никуда. Цитата(AlexandrY @ Mar 21 2018, 13:03)  А вот роль MS Acсess наверно даже не поняли. Где уж нам. Очень важная информация в теме про питон. Странно, что кинетис тут не упомянут. Надо исправить этот недостаток и тиснуть об этом статейку на хабре.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
Сообщений в этой теме
Dubov Python для разработчика Mar 13 2018, 14:13 Nix_86 Использую как вспомогательный инструмент для преоб... Mar 13 2018, 14:27 yes например pyserial - какой-нибудь лабудой по UART (... Mar 13 2018, 14:35 one_eight_seven Тесты, кодогенераторы (когда нужно сделать узкозат... Mar 13 2018, 15:09 adnega Цитата(Dubov @ Mar 13 2018, 17:13) Подели... Mar 13 2018, 15:53 dxp Помимо автоматизации рутинных операций Python очен... Mar 14 2018, 04:30 Эдди Этот дебильный пхытон куда только нынче не пихают... Mar 14 2018, 04:56 a123-flex Цитата(Эдди @ Mar 14 2018, 08:56) Этот де... Mar 14 2018, 05:55  Эдди Цитата(a123-flex @ Mar 14 2018, 08:5... Mar 14 2018, 06:19 one_eight_seven Цитатао построения эффективного ПО для программно-... Mar 14 2018, 05:58 dxp Цитата(one_eight_seven @ Mar 14 2018, 12... Mar 14 2018, 06:38  one_eight_seven Цитата(dxp @ Mar 14 2018, 09:34) А вы про... Mar 14 2018, 06:39 EvilWrecker ЦитатаНет, как раз ПО будет неэффективным.
Наверно... Mar 14 2018, 06:00 one_eight_seven ЦитатаНаверное спорно- случаи есть разные
Наверняк... Mar 14 2018, 06:13 twix Цитата(Dubov @ Mar 13 2018, 14:13) Прошу ... Mar 14 2018, 06:19 one_eight_seven ЦитатаНельзя его там применять и точка.
Искать при... Mar 14 2018, 06:28 AlexandrY Цитата(one_eight_seven @ Mar 14 2018, 08... Mar 14 2018, 10:54 EvilWrecker ЦитатаВ этом и фишка питона: это язык-фронтэнд. Не... Mar 14 2018, 07:05 one_eight_seven ЦитатаВ этом суть pythonic философии.
В моём поним... Mar 14 2018, 07:52 alexunder Поддержу dxp, one_eight_seven и всех питонистов
+... Mar 14 2018, 08:28 twix Цитата(alexunder @ Mar 14 2018, 08:28) По... Mar 14 2018, 09:03  alexunder Цитата(twix @ Mar 14 2018, 10:03) В том т... Mar 14 2018, 10:17   Эдди Цитата(alexunder @ Mar 14 2018, 13:17) Ме... Mar 14 2018, 11:14    alexunder Цитата(Эдди @ Mar 14 2018, 12:14) Вот как... Mar 14 2018, 11:34     AlexandrY Цитата(alexunder @ Mar 14 2018, 13:34) Не... Mar 14 2018, 12:25      alexunder Цитата(AlexandrY @ Mar 14 2018, 13:25) Мо... Mar 14 2018, 12:27 _pv Питон всё-таки ненужен , для ембеддед жирноват-с.
... Mar 14 2018, 08:28 ArtemKAD Ну к примеру в GSM-модулях Telit встроенные Python... Mar 14 2018, 09:33 syoma Собственно получается, что знание Питона требуется... Mar 14 2018, 09:50 Эдди Цитата(syoma @ Mar 14 2018, 12:50) То ест... Mar 14 2018, 09:59  _pv Цитата(Эдди @ Mar 14 2018, 16:59) на С (п... Mar 14 2018, 11:22   Эдди Цитата(_pv @ Mar 14 2018, 14:22) и как та... Mar 14 2018, 14:49  Herz Цитата(Эдди @ Mar 14 2018, 11:59) А учиты... Mar 16 2018, 10:56 SSerge Желающие могут прямо сегодня запустить микропитон ... Mar 14 2018, 09:51 dxp Цитата(one_eight_seven @ Mar 14 2018, 14... Mar 14 2018, 10:59 one_eight_seven ЦитатаЭто откуда такой слоган? Ничего не мешает на... Mar 14 2018, 11:10 Эдди Я же говорю: лично для меня питон — бессмысленная ... Mar 14 2018, 11:43 one_eight_seven ЦитатаА пыхтоновский код даже через 10 лет вы уже ... Mar 14 2018, 11:48 dxp Цитата(one_eight_seven @ Mar 14 2018, 18... Mar 14 2018, 12:12 alexunder Цитата(dxp @ Mar 14 2018, 13:12) А он (ма... Mar 14 2018, 12:15  SSerge Цитата(alexunder @ Mar 14 2018, 19:15) Уд... Mar 14 2018, 12:30  AlexandrY Цитата(alexunder @ Mar 14 2018, 14:15) Уд... Mar 14 2018, 12:31   alexunder Цитата(AlexandrY @ Mar 14 2018, 13:31) В ... Mar 14 2018, 12:39    AlexandrY Цитата(alexunder @ Mar 14 2018, 14:39) Ко... Mar 14 2018, 15:24     alexunder Цитата(AlexandrY @ Mar 14 2018, 16:24) Мо... Mar 15 2018, 09:39 andrew_b Цитата(dxp @ Mar 14 2018, 15:12) Имхо, ту... Mar 14 2018, 13:18  dxp Цитата(andrew_b @ Mar 14 2018, 20:18) Спр... Mar 14 2018, 13:37 one_eight_seven ЦитатаА, ну это мнение автора этого документа.
Бою... Mar 14 2018, 12:28 dxp Цитата(one_eight_seven @ Mar 14 2018, 19... Mar 14 2018, 13:04 one_eight_seven Цитатани вижу никаких препятствий достигать одной ... Mar 14 2018, 13:20  Эдди Цитата(dxp @ Mar 15 2018, 06:09) Ну, пока... Mar 15 2018, 04:55        Leka Цитата(dxp @ Mar 16 2018, 13:02) На питон... Mar 16 2018, 11:49         dxp Цитата(Leka @ Mar 16 2018, 18:49) При бег... Mar 16 2018, 12:13          _pv Цитата(dxp @ Mar 16 2018, 19:13) Спасибо ... Mar 16 2018, 13:29              AlexandrY Цитата(dxp @ Mar 22 2018, 01:56) Где уж н... Mar 22 2018, 09:46               dxp Цитата(AlexandrY @ Mar 22 2018, 16:46) Гд... Mar 22 2018, 11:16               Kabdim Цитата(AlexandrY @ Mar 22 2018, 12:46) Во... Mar 28 2018, 08:17           mantech Цитата(AlexandrY @ Mar 19 2018, 16:32) И ... Mar 20 2018, 06:26       AHTOXA Расскажу, как я применяю питон в embedded.
Если м... Mar 16 2018, 10:09       Leka Цитата(AlexandrY @ Mar 16 2018, 12:35) Хо... Mar 16 2018, 10:19      _pv Цитата(dxp @ Mar 16 2018, 15:52) Как подо... Mar 16 2018, 10:52 one_eight_seven Цитатаа как только что-нибудь посерьёзнее, особенн... Mar 14 2018, 13:59 Leka Имхо, самостоятельный выбор языка должен с этой (и... Mar 14 2018, 15:43 makc Интересно, почему никто не упоминает GIL (еще см. ... Mar 15 2018, 04:47 dxp Цитата(makc @ Mar 15 2018, 11:47) Интерес... Mar 15 2018, 05:40  makc Цитата(dxp @ Mar 15 2018, 08:40) https://... Mar 15 2018, 07:13   dxp Цитата(makc @ Mar 15 2018, 14:13) На тему... Mar 15 2018, 08:13 Leka У меня. Давно, работа, первое, что вспомнилось:
- ... Mar 15 2018, 11:33 Tpeck Off
А в питоне можно сделать высокоскоростной моду... Mar 16 2018, 10:27 one_eight_seven ЦитатаГде там ваш питон? Ау!!
В каком смыс... Mar 22 2018, 10:12 AlexandrY Цитата(one_eight_seven @ Mar 22 2018, 12... Mar 22 2018, 11:31 one_eight_seven ЦитатаА приятно чувствовать себя волшебником, все ... Mar 22 2018, 11:49 AlexandrY Цитата(one_eight_seven @ Mar 22 2018, 13... Mar 22 2018, 12:55 one_eight_seven ЦитатаИдея делать хидеры из pdf-ов однако благодат... Mar 22 2018, 13:59 esaulenka Господа, у меня вопрос, раз уж тут собрались специ... Mar 27 2018, 16:02 _pv Цитата(esaulenka @ Mar 27 2018, 23:02) Во... Mar 27 2018, 18:11 XVR Цитата(esaulenka @ Mar 27 2018, 19:02) Во... Mar 28 2018, 09:24 dxp esaulenka, если хотите именно встроенный скриптовы... Mar 28 2018, 04:28 _Pasha Доброго времени суток
как-то понадобилось перестав... Apr 9 2018, 05:22 halfdoom Цитата(_Pasha @ Apr 9 2018, 08:22) как ра... Apr 9 2018, 07:22  SSerge Цитата(halfdoom @ Apr 9 2018, 14:22) Как ... Apr 9 2018, 10:30  alexunder Цитата(halfdoom @ Apr 9 2018, 09:22) Как ... Apr 9 2018, 20:18 _Pasha чёт я не пойму, в чем должно быть что то не так
Ко... Apr 10 2018, 05:09 AHTOXA Цитата(_Pasha @ Apr 10 2018, 10:09) чёт я... Apr 10 2018, 06:49  halfdoom Цитата(AHTOXA @ Apr 10 2018, 09:49) Питон... Apr 10 2018, 07:09  _Pasha КодPython 3.5.2+ (default, Sep 22 2016, 12... Apr 10 2018, 10:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|