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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    class Test(contextlib.ExitStack):
        def __init__(self):
            super().__init__()
            with contextlib.ExitStack() as s:
                self.foo = s.enter_context(Foo())
                self.bar = s.enter_context(Bar())
                self.enter_context(s.pop_all())

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

    bormand, 11 Октября 2018

    Комментарии (131)
  2. Python / Говнокод #24866

    −12

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #Было:
    sorted(lst, key=lambda x: x['key'])
    #или
    sorted(lst, key=operator.itemgetter('key')
    
    #стало:
    sorted(lst, key=S_['key'])

    Говнокоданы, как вам такая идея?

    syoma, 07 Октября 2018

    Комментарии (16)
  3. Python / Говнокод #24850

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    import re
    
    def krpt(x):
        x = x.group(1)
        f = lambda x: "".join(filter(lambda x: x not in "АЕЁИОУЫЭЮЯ", x))
        xp = f(x)
        if len(xp) == 0:
           return x
        for i in open("dict.txt", "r"):
            i = i.strip().upper()
            t = f(i)
            if len(t) < len(xp): continue
            if xp == t[:len(xp)]:
                return i
        return x
    
    def KRPT(x):
        return re.sub("([А-ЯЁ]+)", krpt, x.upper())
        
    while "ПРЛС":
        print(KRPT(input("> ")))

    > какой багор )))
    АКАКИЙ БОГОРОДСК )))
    > лунная клизма, лай мне в анус
    АЛИНИН КЛИЗМА, ЛЕЙБНИЦ АМУНДСЕН АВИВ АНИСИЯ
    > какой-то ебень написал поебень
    АКАКИЙ-АООТ БЕНЬЯМИН НАПИСАЛА ПОЕБЕНЬ
    >

    MPA3b, 03 Октября 2018

    Комментарии (92)
  4. Python / Говнокод #24794

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    if len(item['createdOn']):
        item['createdOn'] = strptime(item['createdOn'], '%Y.%m.%d %H:%M:%S')
    else:
        del item['createdOn']

    mef1stofel, 21 Сентября 2018

    Комментарии (0)
  5. Python / Говнокод #24783

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    for i in xrange(10):
        globals()["mymassiv%d"%i] = i*i
     
    print mymassiv0, mymassiv1, mymassiv9

    Нафига в пыхоплеяде разные структуры данных типа массивов, множеств, словарей? Чтобы быть как "взрослые" языки?

    CTEPTOP_TUPOI_SHIZIK, 17 Сентября 2018

    Комментарии (77)
  6. Python / Говнокод #24709

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de" dir="ltr">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    		<meta name="keywords" content="Kabel Deutschland, digitale Belegung, Frequenzen, Kanäle, Sender" />

    Вся страница тут https://helpdesk.kdgforum.de/sendb/belegung.html
    Ебучий lxml при попытке парсить документ в неправильной кодировке (Невалидный utf8, в meta name="keywords" содержимое в однобайтовой кодировке. Как такое получили - другой вопрос) тихо сваливается в какую-то однобайтовую кодировку. Браузер всё показывает нормально. Несмотря на xhtml, который вроде должен заставлять строго парсить.

    syoma, 01 Сентября 2018

    Комментарии (11)
  7. Python / Говнокод #24706

    −2

    1. 1
    if type(colType) == type(0): # it's a length

    Библиотека csv, встроенная в питон.

    syoma, 01 Сентября 2018

    Комментарии (3)
  8. Python / Говнокод #24694

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    import datetime
    import mysql.connector
    
    cnx = mysql.connector.connect(user='scott', database='employees')
    cursor = cnx.cursor()
    
    query = ("SELECT first_name, last_name, hire_date FROM employees "
             "WHERE hire_date BETWEEN %s AND %s")
    
    hire_start = datetime.date(1999, 1, 1)
    hire_end = datetime.date(1999, 12, 31)
    
    cursor.execute(query, (hire_start, hire_end))
    
    for (first_name, last_name, hire_date) in cursor:
      print("{}, {} was hired on {:%d %b %Y}".format(
        last_name, first_name, hire_date))
    
    cursor.close()
    cnx.close()

    Как выглядит mysql_real_escape_string в Python?

    real_escape_string, 31 Августа 2018

    Комментарии (1)
  9. Python / Говнокод #24687

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    def printlen(x):
        print(len(x))
    
    def argslist(x):
        return list(x.args)
    
    def add(value_error, arg):
        raise Exception(*value_error, *arg)
    
    def fibonacci(a, b, x):
        try:
            assert b<x
            printlen(b)
            try:
                add(a,b)
            except Exception as e:
                fibonacci(argslist(e), a, x)
        except AssertionError as e:
            print(e)
    
    threshold = 1000
    fibonacci([[]],[[]],[[]]*threshold)

    Выводит числа Фибоначчи от 1 до threshold.
    Если убрать строку "assert b<x", то python.exe займёт всю оперативку, потому что зачем лимит вложенности исключений?

    tungmetla, 30 Августа 2018

    Комментарии (8)
  10. Python / Говнокод #24683

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    def spam(low, up):
        for eggs in range(low, up+1):
            if str(eggs) in str(eggs**2):
                print(str(eggs) + " is in " + str(eggs**2) + ".")

    Проверяет, есть ли стринг числа n в стринге числа n**2.

    shite, 29 Августа 2018

    Комментарии (12)