1. Python / Говнокод #25484

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    # Чтение файла в "Python":
    with open("suka") as blyat:
        govno = blyat.read()
    
    // Чтение файла в "PHP":
    $govno = file_get_contents("suka");

    Почему нету способа в одну функцию, и нужно добавлять лишнюю вложенность?
    Это какой-то пиздец.

    Запостил: OCETuHCKuu_nemyx, 28 Марта 2019

    Комментарии (46) RSS

    • Кокой багор )))
      Ответить
    • У меня всё работает:
      govno = open("suka").read()
      Ответить
      • ведь это неправильно
        Ответить
        • Да, я не смогу его закрыть, потому что потерял ссылку на ресурс. Какой багор )))
          Ответить
          • сука утекла
            Ответить
            • Я пишу на «Питоне» и теку.
              Ответить
              • https://youtu.be/WkUmIFIsY8k
                Ответить
                • Хороший петушок.
                  Ответить
                  • Ахуеть, хотели бы себе такого котика? https://youtube.com/watch?v=SMcK9lHhftE
                    Ответить
                    • Знаешь, были такие Берберовы?
                      Ответить
                      • Теперь знаю. Поэтому я за петухов и курочек.
                        Ответить
                        • Я в детстве читал Веру Чаплину, у ней были рысь и львица

                          Рысь погибла кажется, а львицу в итоге отдали в зоопарк
                          Ответить
                        • https://youtu.be/_fFhsBFyxig
                          Ответить
                          • Сеттинг охуенный у них: бутылки пустые, говно всякое

                            Ты за кого? За который в штанах или без?
                            Ответить
                            • коммент понравился:
                              > долбаебы с гусем еще снимите

                              я так понимаю что в штанах это Брама, и он не бойсовы, даже если из Фергана
                              Ответить
                              • Тот который белый - похож на осетинского.
                                Ответить
                              • Верно. Браму уже в каком-то говнокоде обсуждали. Их разводят и ради мяса (петух может весить 6 килограммов и даже больше), и ради яиц.

                                А бойсовы выглядит как молот: одна сплошная жёсткая мышца.
                                Ответить
                                • Очень странно, насколько мне известно породы делятся на:
                                  * мясных
                                  * яичных
                                  * нарисованных тончайшей кистью из верблюжьей шерсти

                                  Точно так же как коровы есть мясные и молочные.
                                  Ответить
                                  • Бройлер –— мясная порода, однако, в магазинах можно увидеть и яйца бройлеров (детоубийцы!). А есть породы, которые чуть-чуть полегче бройлеров (или даже такого же веса), но производят гораздо больше яиц.

                                    Чисто яичные породы разводили из-за того, что у них быстрее происходит половое созревание.

                                    Даже Википедия знает про:
                                    • общепользовательные (мясо-яичные породы).

                                    Я IRL видел кучинскую юбилейную породу –— как раз мясо-яичную. По окраске они напоминают диких банкивских, только по весу они, как бройлеры, и несутся, не переставая. И ещё материнский инстинкт у них сильно развит. Если не давать им садиться на яйца, но выпускать гулять, то сядут на яйца не в курятнике, а в укромном месте и вернутся с цыплятами. Можешь погуглить эту породу.
                                    Ответить
                          • В детстве я стучал по сетке курятника ногой, и петухи начинали драться.
                            Ответить
                      • >> были

                        Они совсем закончились?
                        Ответить
                        • Ну какая-то часть из них закончилась когда лев с пумой стали драться, а они попытались их разнять
                          Ответить
                  • Сергей, что ты несешь?
                    Ответить
          • Раз ссылка проебалась, разве ресурс не освободится? Раз ссылок на объект не осталось, то у него позовётся деструктор, а он, по идее, должен закрыть файл.
            Ответить
            • там гремучая смесь GC и рефкаунта

              так что рано или поздно да -- фалу пизда придет
              Ответить
        • govno = (lambda f: (f.read(), f.close())[0])(open("suka"))
          Ответить
    • На самом деле file_get_contents –— это очень плохая функция, потому что она пытается затянуть весь файл в оперативку целиком. Большие файлы лучше читать блоками.
      Ответить
      • ой, а mmap-то какая плохая хункция: она может гигабайтами файл в память мапять, божечки!


        про виртуальную память слышал?
        Ответить
        • Дык замапать 2 гига != прочитать 2 гига. В замапанном на чтение файле всегда можно просто выбросить ненужные странички. Прочитанный файл можно только скинуть в своп.
          Ответить
          • твоя правда
            однако фраза "затянуть в оперативку" не является правдой если ОС использует страничную адресацию

            уж петух-то мог бы это знать
            Ответить
            • Она может замапать локальный файл. А что она сможет сделать с потоком из внешнего источника? Ведь можно вызвать file_get_contents('http://govnokod.ru/').
              Ответить
              • > Ведь можно вызвать file_get_contents('http://govnokod.ru/').

                Поэтому я за "PHP".
                Ответить
              • засвапать
                Ответить
              • Ну если статика и сервак умеет отдавать кусками с нужного оффсета - можно и http замапать... В теории.
                Ответить
        • file_get_contents ничего не мапит, она зовёт _php_stream_copy_to_mem, которая тупо читает всё из потока в буфер:
          https://github.com/php/php-src/blob/master/ext/standard/file.c
          https://github.com/php/php-src/blob/master/main/streams/streams.c

          Именно поэтому я за "PHP". А кто-то умеет мапить?
          Ответить
          • Самое интересное, что mmap в этих файлах используется, но в функции _php_stream_copy_to_stream_ex, которая вызывается из file_put_contents.
            Ответить
            • Зачем он там?
              Ответить
              • Борманд, ты же в детстве был слакоёбом?
                Ты понимаешь куда там патч засылать? Прямо Патрику на емейл что-ли?

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

                Кака в том что слака имеет одновременно и libtermcap для работы с termcap и libncurses для работы terminfo.

                configure xtermа видит наличие termcap и линкуется с ним. В termcap нету xterm-256color потому что в termcap вообще цвета не указать.
                В результате xterm кладет хуй на ресурс "xterm.termName:xterm-256color" потому что не видит такого названия, откатывается к обычному TERM=xterm, и у меня вместо 256 цветов в терминале 8. И, например, сосет mc с 256цветовыми схемами, и vim тоже посасывает немного.

                У других прыщей termcap нету вовсе (как в sys v), и даже на фрибзды libtermcap это симлинка на libncurses.
                Так что все они читают terminfo и в ус не дуют.

                Лечица вставкой LDFLAGS="-lncurses" перед configure в slackbuild.
                Линкер тогда линкуется с ncurses, а termcap нахуй выкидывает может потому что "-as-needed" или просто потому что резолвит символы из ncurses.

                Тащемто, патч в одну строчку для слакбилда хочу отдать народу. Удивительно что никого не ебет что xterm на слаке поломан. Кому нахуй вообще нужен termcap в 21 веке?
                Ответить
    • from pathlib import Path; Path('suka').read_text()
      Ответить

    Добавить комментарий