Задать вопрос
  • Как поворачивать координату линии?

    trapwalker
    @trapwalker
    Afafks123132132165, Кстати, можете вот глянуть мои древние эксперименты с трассировкой лучей.
    https://trapwalker.github.io/raytrace/
    Нажмите Add и подождите.
    Исходники тут:
    https://github.com/trapwalker/raytrace
  • Как правильно выполнить sql запрос при помощи bat файла?

    trapwalker
    @trapwalker
    Пробуйте передавать креды в параметрах коммандной строки как здесь:
    set isql="C:\\Program Files(x86)\\FireBird\\FireBird_2_1\\BIN\\isql.exe"
    echo SELECT C.CODE FROM CLIENT C; | %isql% 127.0.0.1/3050:E:\Torgovlya54\MAIN.GDB sysdba masterkey > outputfile.txt

    И не старайтесь сделать всё и стразу. Сделайте простой пример, потом усложняйте до целевой функциональности. А-то у вас тысяча ошибок в разных местах, куча непонимания что и как работает и вы хотите сделать всё разом.
    И с кодировками к тому же работать не понимаете как.
    В винде, конечно, это особенная жопа с ними, но за что боролись, как говорится, терпите.
    Однако при попытке что-то сделать, надо делать от простого к сложному.
  • Как правильно выполнить sql запрос при помощи bat файла?

    trapwalker
    @trapwalker
    SLJ, выполните:
    type query.sql
    dir "C:\Program Files(x86)\FireBird\FireBird_2_1\BIN"

    И скриншот в студию
  • Как правильно выполнить sql запрос при помощи bat файла?

    trapwalker
    @trapwalker
    SLJ, а вы уверены что бинарь isql у вас именно по этому пути? А есть он там вообще?
  • Как правильно выполнить sql запрос при помощи bat файла?

    trapwalker
    @trapwalker
    SLJ,
    Запускаю 1.bat

    Как именно запускаете?
    Мышкой?
    В командной строке любая программа может писать в два стандартных потока: stdout и stderr, и читать из stdin.
    В терминале выходные потоки смешиваются и вы видите их выхлоп после запуска команды. Если стартовать батник мышкой, то окошко терминала с ним закрывается сразу по окончании работы батника. Вы просто не успеваете увидеть то, что было отправлено в stderr и stdout, например сообщения об ошибках.
    Откройте терминал:
    Пуск-> Выполнить -> cmd
    потом перейдите в каталог со скриптом:
    cd c:\путь\к\каталогу\с\батником
    потом запустите батник:
    мой_батник.bat
    Потом всё написанное в этом черном окне выделите и скопируйте, чтобы отправить сюда.
  • Как правильно выполнить sql запрос при помощи bat файла?

    trapwalker
    @trapwalker
    Данное решение не выдает результатов.

    SLJ, а вы что там дабл-кликом в эксплорере батник запускаете, что ли?
    Вообще не выдаёт ничего? Может быть выдаёт, а вы просто их увидеть не успеваете? например в stderr пишет ошибку подключения к неработающему серверу.
  • Как правильно выполнить sql запрос при помощи bat файла?

    trapwalker
    @trapwalker
    res2001, пробуйте так. Исправил код.
    А именно, перенёс DSN и авторизацию в параметры командной строки isql.
    Можете также в своём варианте последнем так сделать попробовать.
    Запускайте батник (предположим он лежит по пути c:\path\to\script_dir\my_script.bat) из командной строки:
    > cd c:\path\to\script_dir
    > my_script.bat

    Весь выхлоп пришлите сюда, если не получится. Иначе в такие угадалки с вами играть никто не будет. У меня вообще винды под рукой нет. И файрбёрда. Не ленитесь, предоставляйте больше информации. Кому оно вообще надо, вам или нам?
  • Как вызвать из GUI методы?

    trapwalker
    @trapwalker Куратор тега Python
    Алексей Р,
    вроде как интерфейс понятен

    да понятен, но представьте такой же интерфейс в виде веб-формы, а архив ошибок вы получите в виде свёрстанной html-страницы и кнопочки "экспорт в xls".

    Но, ок. я согласен, что вопрос не принципиальный. Просто GUI в виде приложения, ИМХО, устарел для подобного рода задач.
    Подобие CLI интерфейса есть. Был даже такой вариант ложим файлы в папку на диске С, запускаем файл .py и там появляется автоматический файл с название "Общий вариант с ошибками.xlsx"


    Почитайте про стандартную библиотеку argparse.
    На счет выноса кода в функцию. У вас сейчас так:
    # my_python_file.py:
    
    param1 = "C:\путь\к\файлу1.xls"
    param2 = "C:\путь\к\файлу2.xls"
    sliceWorkSheetOMS = pd.read_excel(param1, header=5, usecols = "A:D, I, J")
    #... работа с данными
    omsFrame.to_excel(param2, index=False, header=False,)

    А нужно так:
    # my_python_file.py:
    
    def my_func_name(param1, param2):
        sliceWorkSheetOMS = pd.read_excel(param1, header=5, usecols = "A:D, I, J")
        #... работа с данными
        omsFrame.to_excel(param2, index=False, header=False,)
    
    
    if __name__ == '__main__':
        import sys
        my_func_name(param1=sys.argv[1], param2=sys.argv[2])
        # или ещё лучше, использовать argparse и сделать нормальный Command Line Interface


    теперь из другого модуля вы можете использовать эту функциональность, например так:
    import my_python_file
    
    def my_button_handler(...):
       my_python_file.my_func_name(my_widget1.text, my_widget2.text)
    # ...
  • Как преобразовать строки Excel в datetime?

    trapwalker
    @trapwalker Куратор тега Python
    bobs32, а локаль нормально установилась?
    Вообще, по-хорошему заменять бы месяцы надо на цифры, а не слова, и не возиться с локалью.
    import datetime
    
    def fixdate(dt: str) -> str:
        dt = dt.replace('Январь', '01')
        dt = dt.replace('Февраль', '02')
        # ...
        dt = '.'.join([x.strip().zfill(2) fot x in reversed(dt.split())])
        return datetime.datetime.strptime(dt, '%Y.%m.%d')
    
    head = data[0]
    data = data[1:]
    result_rows = []
    for row in data:
        for day, value in zip(head[1:], row[1:]):
            dt = fixdate(f'{day} {row[0]}')
            result_rows.append((dt, value))

    Ну и конечно если не заработает, то код покажите полностью и что там у вас на входе какой список получился
  • Как сопротивление может влиять на напряжение?

    trapwalker
    @trapwalker
    totorialman, ну я ж написал откуда. Если источник ЭДС химический (аккумулятор, батарейка), то из высвободившейся энергии химических связей в результате химической реакции. Если источник механический, то, как я уже рассказывал, это будет, к примеру, масса гири помноженная на высоту опускания и ускорение свободного падения. Если солнечная батарея, то КПД преобразования помноженная на совокупную энергию фотонов света воспринимаемого участка спектра.
  • Как сопротивление может влиять на напряжение?

    trapwalker
    @trapwalker
    totorialman, Не очень, всё же, понял чего вы хотите, но всё упирается в энтропию, а она растёт. Аккумулятор или батарейка преобразует энергию химических связей в работу по перераспределению зарядов.
    Всю работу в системе можно подсчитать и по первому закону термодинамики сумма энергии замкнутой системы не меняется.
    Внутренняя энергия - это, грубо говоря, тепловая энергия. У нас (в нашем примере) в цепи нет ни индуктивности ни ёмкости. Энергия нигде не запасается. Всё, что выделилось из химических связей рано или поздно превратится в тепло, то есть в механическую энергию дёргающихся атомов и электромагнитное излучение (свет от лампочки, инфракрасное тепловое излучение нагретых тел).

    Вы можете повесить гирьку на цепочке и заставить её опускаясь крутить динамо-машину. Выработанное электричество будет питать лампочку и если подсчитать всю энергию: ЭМ излучения включая инфракрасное, потери на нагреве и рассеивании тепла в атмосфере от проводов, и катушек генератора, и т.д., суммарная энергия системы будет неизменной.
    Потенциальная энергия поднятой гирьки, равная m*g*h, вся потратится на усиление теплового движения атомов проводов, спирали, воздуха и на электромагнитное излучение. Энергию вылетевших фотонов тоже можно рассчитать, сложить и всё в сумме будет равно m*g*h.
  • Как сопротивление может влиять на напряжение?

    trapwalker
    @trapwalker
    totorialman, конечно. Первый закон термодинамики фундаментален.
    Трудно только учесть теплопроводность и теплоёмкости жидкости и сопла, турбулентности в потоках... Но в идеализирванных случаях и для примерных вычислений -- конечно.
    Ну и для электричества тлже. Лампочка горит, процесс стационарный, засовывайте лампочку в калориметр, меряйте количество теплоты, считайте по первому закону энергию: I*U*t и получите энергию в киловатчасах (или джоулях или калориях).
  • Как сопротивление может влиять на напряжение?

    trapwalker
    @trapwalker
    totorialman, У коридора низкое сопротивление. Стульев там мало, школьники плотной толпой протекают через него без особых помех и грохота.
    Но если где-то в коридоре сделать участок с бОльшим сопротивлением (сильнее загромождённый стульями), школьники через него просачиваются с большим грохотом.

    Страшная толчея и бедлам в этом сужении может вовсе привести к обрушению. Узкое место будет вовсе завалено обломками. Сопротивление участка вырастет до бесконечности и ток школьников прекратится вовсе.
    Напряжение по краям "разорванного" участка станет почти таким же как по краям большого просторного коридора. Почти - это за вычетом мизерного падения напряжения на ненулевом, всё же, сопротивлении этого просторного коридора. Но речь не об этом.

    Грохот и беспорядок в узком месте - это и есть работа. Спираль лампочки - это часть проводника, которая накаляется (из-за тока) до свечения.
    Падение напряжения на нагрузке - это разность потенциалов (давления толпы) до и после "сужения".

    В какой-то момент метафора с дальнейшим уточнением начинает себя исчерпывать.
    Школьники у нас уже малосжимаемая жесткая жидкость. Тут гидравлика уже выглядит куда привычнее. Вода почти не сжимаема и не растяжима, в отличие от школьников. Давайте дальше понимать на гидравлике.

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

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

    trapwalker
    @trapwalker
    totorialman, Сила тока в цепи всегда одинаковая. Школьники идут плотнячком, сгуститься или разрядиться они не могут (особые такие школьники). В цепи у нас нет ёмкостей (конденсаторов), где школьники могли бы скапливаться. Поэтому ток во всех точках коридора будет одинаков. Сколько школьников "выщелкнулось" через выход, столько защёлкнулось на входе.
  • Как получить все классы в файле .py?

    trapwalker
    @trapwalker Куратор тега Python
    Мне кажется в задаче так и звучало бы "объявления классов", если бы нужны были именно они.
    Хотя согласен. Слово "лежат" - это малость непонятненько в плане импортирвоанных, а не объявленных в модуле классов.
  • Куда пропадает тройка из числа 36?

    trapwalker
    @trapwalker
    Талян, да неожиданно просто нормальный вопрос от разбирающегося человека увидеть.
    Невольно привыкаешь к тому, что люди не пробуют очевидных вещей, не думают, не гуглят, а сразу задают серию вопросов и каждый последующий без обдумывания и "лишних" подробностей - про ответ на предыдущий.
  • Куда пропадает тройка из числа 36?

    trapwalker
    @trapwalker
    А такой код нормально выводит 36?
    #!/bin/bash
    
    MAIL_LIST_CMD="2 3 4 10 20 34 35 36"
    echo $MAIL_LIST_CMD
    
    for i in $MAIL_LIST_CMD
    do
            echo -e "$i \n"
    done

    Или для воспроизведения проблемы надо обязательно качать curl'ом?