LINUX.ORG.RU

Питонячьи радости

 ,


0

4

Отступы, блин

Был у меня код вида:

for blah-blah-blah :
    # какой-то код
    if что-то :
         # код
    else:
        # ещё код

Код скопипастил из одного места программы в другой. При этом не заметил как отступы нарушились. Ну вы поняли, да? Стало:

for blah-blah-blah :
    # какой-то код
    if что-то :
         # какой-то код
else:
      # ещё код

И вот это мне стоило довольно большого количества потеряного времени. Условие else: стало относиться не к if, а к циклу for. Учитывая, что тело цикла было достаточно длинным, как-то не бросалось в глаза, что else уехал не туда. Мать-перемать, но код после этого даже почти нормально работал.

Еще уже мелочь относительная, но все же, чего-то не подумав захотел поработать с гугл драйвом прямо из своего кода и недолго думая сделал pip install --upgrade google-api-python-client - и это разрушило всё. Благо, что от юзера, а не рута, вылечилось сносом .local и повторной накаткой некоторых модулей

★★★★★

Последнее исправление: anonymous_incognito (всего исправлений: 3)

Ответ на: комментарий от sanyo1234

Всё же bash IMHO имеет очень тесную интеграцию с shell, управление jobs и т.п.

bash это и есть shell, как и PS, и джобы в PS тоже есть

все что можно делать в bash в линуксе - можно делать в PS, причем наверное даже с более удобным синтаксисом, или хотя бы таким же

lovesan ★★
()
Ответ на: комментарий от lovesan

в т.ч. для командной строки.

  1. Открыл официальную справку.

  2. Увидел, что вместо ps предлагают набирать

Get-Process | Get-Member | Out-Host -Paging
  1. Закрыл официальную справку.

Этим можно пользоваться лишь от безысходности и обмазавшись alias’ами, чтобы было на bash похоже. Но зачем, я лучше настоящий bash возьму.

ugoday ★★★★★
()
Ответ на: комментарий от lovesan

все что можно делать в bash в линуксе - можно делать в PS, причем наверное даже с более удобным синтаксисом, или хотя бы таким же

Но у PS не хватает кроссплатформенность?

Где взять PS для OpenBSD, OmniOS/SmartOS ?

Навряд ли современный (и уж тем более будущие релизы) PS полноценно работает на mono?

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от sanyo1234

IMHO Perl конечно некомфортный по синтаксису, но зато есть почти везде и ставится легко и просто.

После баша на перле очень легко писать, и дело даже не в синтаксисе. А вообще хотеть tcl вместо баша. Я на нём и писал довольно много раньше, но теперь это как разновидность нетрадиционной любви. Коллеги не оценят.

bread
()
Ответ на: комментарий от bread

А вообще хотеть tcl вместо баша. Я на нём и писал довольно много раньше, но теперь это как разновидность нетрадиционной любви. Коллеги не оценят.

Там модель внешней среды исполнения паршивая, насколько я помню. Никакой нативной работы с возможностями POSIX-систем.

wandrien ★★
()
Ответ на: комментарий от bread

Я так понимаю, это «приделанное сбоку», то есть то, что может

  • не быть на целевой системе
  • нужно ставить отдельно
  • прошло 10 лет, оно собирается через костыли или вообще не работает
  • и т.п.

Вместо того, чтобы сразу дать грамотный toolbox в базовой поставке, который просто есть по умолчанию.

Вон даже по ссылке какие-то два отдельных форка.

wandrien ★★
()
Ответ на: комментарий от lovesan

И зачем мне тогда PowerShell, я с coreutils и без него отлично взаимодействую? Это всё равно, что хвалить $ProgramLanguage, за то, что в нём есть os.exec() и случись что можно вызвать внешнюю программу, написанную на $GoodProgramLanguage.

ugoday ★★★★★
()
Ответ на: комментарий от wandrien

Вместо того, чтобы сразу дать грамотный toolbox в базовой поставке, который просто есть по умолчанию.

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

bread
()
Ответ на: комментарий от Shadow

OpenERP - это на питоне или на джаве?

Аишка пишет, что на питоне ?

Here are some key things to know about OpenERP:

    OpenERP is an open source enterprise resource planning (ERP) software system. It provides a range of business applications including CRM, accounting, manufacturing, project management, and more.
    It was created in 2005 by the Belgian company Odoo S.A. (formerly Tiny ERP and OpenERP S.A.). The software was renamed Odoo in 2014.
sanyo1234
()
Ответ на: комментарий от ugoday

Средний уровень ITшника падает.

Да и фиг с ним, в идеале никаких айтишников не нужно. А нужно, чтобы спецы могли программировать сами. А им питон подсовывают или ещё что похуже. Вроде как заранее людей за дураков считают.

bread
()
Ответ на: комментарий от bread

А нужно, чтобы спецы могли программировать сами.

Я согласен с вами, собственно, обсуждаемый выше 1С и является примером такого подхода: специалисты по программированию делают платформу, специалисты по проблемной области — решают на ней задачу. К сожалению, IT ещё очень неразвитая индустрия и такого мало где удаётся добиться.

А им питон подсовывают или ещё что похуже.

Питон — прекрасный язык программирования (по сравнению с yaml).

P.S. не шучу.

ugoday ★★★★★
()
Ответ на: комментарий от sanyo1234

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

bread
()
Ответ на: комментарий от wandrien

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

А дак и позиционируют, что специалисту нужно алгоритмы «программировать».

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

А тем, кто он no-code уже устал, у них иногда есть даже возможность и покодить! Бинго ;)

Smart people, купиться на удочку no-code, чтобы потом вернуться к yes-code :)

NoSQL СУБД vs YesSQL and NewSQL, LOL

sanyo1234
()
Ответ на: комментарий от sanyo1234

Python - это IMHO для коротких скриптиков.

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

bread
()
Ответ на: комментарий от wandrien

А водители могли машины делать сами?

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

bread
()