kunsun
Python не знаю как создать экземпляр объекта, элемент памяти у Джемини (что то типа content.message) в исходниках его нетрудно найти но там классический пиздец когда классы в классах и классами погоняют.

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

Пиздец :(
vt
Python говно nopython Вышел новый язык программирования Python 3.13.
Теперь дистрибутивы линукса будут предоставлять сразу пять — 3.8, 3.9, 3.10, 3.11, 3.12 и 3.13 — языков программирования. А homebrew в макоси — все пять сразу устанавливать, ведь это же разные языки программирования и все нужны.
kunsun
Python нужен детектор неправильный раскладки, который будет срабатывать на строки типа такой. есть чо?

kunsun
Python мерзкая особенность тредов — можно попасть в бесконечный замок и не понять что произошло и почему ничего не работает. нужен какой то аналог замка с таймером и логами(трейсбеком) Ж)
kunsun
Python мне нужен безопасный и управляемый аналог eval()

такой чтоб не мог себе позволить сильно лишнего и который можно было бы остановить если он за 5 секунд не может завершить что-нибудь такое

kunsun
Python если сделать from random import * а потом dir(random) то получится ой потому что в random есть слово random
kunsun
· Edited
Python *python если запустить приложение с такими ключами то оно открывает браузер, прямо в текстовой консольке Ж(
flet run -w --host 172.28.1.8 -p 18000 web_app.py

если запустить без -w то падает с ошибкой (пытается запустить с гуем и не находит гуйной библиотеки)

непонятно как это запускать на сервере
kunsun
Python нашел крутейшую функцию для запуска других функций с таймаутом, с возвращением значений из этой функции. но похоже что под вендой она работать не будет потому что нету signal.SIGALRM
kunsun
Python если в модуле есть глобальная переменная, api_key и модуль импортирован внутри какой то функции то эта глобальная переменная будет внутри это функции своя собственная или все равно будет расшарена с кем то еще кто импортировал этот модуль в другом пространстве имен(в другой функции, или вернее в этой же функции но другом экземпляре)?
kunsun
· Edited
странное Python *python *странное приделал к запросам в sqlite кеш в оперативке, умный, считающий количество попаданий и удаляющий то что старее и меньше попаданий имеет

запустил бенчмарк, результат с кешем 300т в секунду
запустил бенчмарк с обычным словарем в памяти вместо бд, результат 100т в секунду...

оказалось что в кеше используется не обычный словарь а упорядоченный, и он намного быстрее, если его использовать то получается 1млн в секунду запросов

USERS_CACHE.set('key1', 'value10'*100)
# USERS_CACHE = {'key1': 'value10'*100, 'key2': 'value10'*200}
# USERS_CACHE = OrderedDict({'key1': 'value10'*100, 'key2': 'value10'*200})
time_start = time.time()
counter_last = 0
for x in range(10000000000):
a = USERS_CACHE.get('key1')
# a = USERS_CACHE['key1']
if time.time() — time_start > 1:
print(x — counter_last, end='\r')
counter_last = x
time_start = time.time()
kunsun
Python нихера не кеширует sqlite. скорость одинаковых простых запросов — меньше тысячи в секунду
а скорость обращения к словарю в оперативке больше миллиона
kunsun
· Edited
Python *python а sqlite кеширует запросы? сколько стоит операция типа выбрать язык юзера из таблицы юзеров где юзер=ххх

у меня в коде такие запросы часто бездумно повторяются. потому что изначально база была в оперативке
kunsun
Python сделал себе декоратор для асинхронного запуска функции в синхронном коде Ж) вот только функция таким макаром ничего не возвращает


def asunc_run(func):
'''Декоратор для запуска функции в отдельном потоке, асинхронно'''
@functools.wraps(func)
def wrapper(args, *kwargs):
thread = threading.Thread(target=func, args=args, kwargs=kwargs)
thread.start()
return wrapper


@asunc_run
def debug_log_stt_google_enchance(text: str):
...
kunsun
· Edited
Python *python помнится я долго искал библиотеку для чтения старых эксель файлов и нинашел. оказалось что панда умеет

теперь бот может отвечать на вопросы по эксель файлам тоже, и по новым и по старым, и по либроофисным таблицам тоже панда шарит

kunsun
Python что то я не понял а в чем разница между

import fuzzywzyy
print(fuzzywzyy.fuzz.ratio(blabla)

и

from fuzzywzyy import fuzz
print(fuzz.ratio(blabla)


первый вариант у меня стал говорить что нету никакого fuzzywzyy.fuzz
Ilya-S-Zharskiy
...прошло_10_лет Hypercorn AppServer Python wsgi Uvicorn gunicorn ASGI Daphne github.com


ASGI (Asynchronous Server Gateway Interface) is a spiritual successor to WSGI, intended to provide a standard interface between async-capable Python web servers, frameworks, and applications.

Web servers for ASGI applications.

Daphne — An HTTP, HTTP2 and WebSocket protocol server for ASGI, developed to power Django Channels.
Hypercorn — An ASGI server based on the sans-io hyper, h11, h2, and wsproto libraries. Supports HTTP/1, HTTP/2, WebSockets, ASGI 2.0 and ASGI 3.0. Compatible with asyncio, uvloop and trio worker types.
NGINX Unit — A universal web app server that supports ASGI.
Uvicorn — A fast ASGI server based on uvloop and httptools. Supports HTTP/1 and WebSockets.

github.com

Sanic is a Python 3.8+ web server and web framework that's written to go fast. It allows the usage of the async/await syntax added in Python 3.5, which makes your code non-blocking and speedy.

Sanic is also ASGI compliant, so you can deploy it with an alternative ASGI webserver.

you can use your preferred ASGI webserver to run Sanic. The three main implementations of ASGI are Daphne, Uvicorn, and Hypercorn.
kunsun
· Edited
Python *python что то странное произошло. бот перестал работать. стал перезапускаться со словами в этой функции нет таких аргументов как будто версия библиотеки сильно изменилась. обновление библиотеки исправило ситуацию

библиотека pytelegrambotapi (телебот) из личного venv, не внешняя, даже если бы были какие то автообновления они бы ее не затронули

целый час бот не работал и никто не доложил о поломке Ж(
Strephil
Python Arch В системе что-то обновилось, и мой скрипт, который раньше просто работал, теперь падает с какой-то непонятной ошибкой.
vt
Python говно nopython работаю работу — отлаживаю приложение на питоне (3.7) с помощью print(). Это было бы классикой, если бы не то, что запустить эту хуйню локально не могу в принципе, и после каждого print мне надо собирать и деплоить докер-образ на сервер!
Ну здесь просто очень много тенге платят, пришлось согласиться!
kunsun
Python gist.github.com

а как в питоне написать метод который должен срабатывать когда объект удаляется автоматически (при завершении программы или функции в котором объект был создан). в с++ это называется деструктор

del похоже вызывается только при ручном удалении объекта когда в коде написано del obj. или может это глюк vscode но программа не завершается и в del не заходит

еще не понял почему не получается создать замок внутри класса self.lock=threading.Lock(), пришлось его вынести наружу в PersistDictLock = {} (pickle его сохранять не хочет)
kunsun
Python при добавлении чего то в sqlite базу до комита появляется файл имябазы.db-journal и в нем видны новые данные

а что будет если программа упадет не сделав комит, при открытии базы она подхватит это журнал?

а если программа не упадет но комит не сделает то журнал будет просто удален? типа юзер не захотел ничего сохранять
kunsun
bot Python питон позволяет сделать у телеграм бота команду которая выполняет любой код в боте Ж)
типа так

/cmd del cfg.admins[123456]

на стороне бота будет переделано в eval('del cfg.admins[123456]')
kunsun
Python как можно быстро не скачивая текст страницы полностью получить title страницы

мне надо переделывать кучу простых ссылок в маркдаун, как то так
example.com -> Title page взятый со страницы

что то мне подсказывает что так делать не стоит

def get_page_name(url: str) -> str:
soup = BeautifulSoup(urlopen(url), features="lxml")
try:
return soup.title.get_text()
except:
return ''
kunsun
Python прикол. у меня один модуль дважды проходит инициализацию. видимо он импортирует другой модуль который импортирует его самого. тогда почему всего 2 раза а не бесконечный цикл получается
kunsun
Python а можно как то пощупать наличие элемента прежде чем доступаться к нему?

if message.audio.file_id существует то доступаемся

конструкция с try как то странно выглядит

try:
file_info = bot.get_file(message.voice.file_id)
except AttributeError:
try:
file_info = bot.get_file(message.audio.file_id)
except AttributeError:
file_info = bot.get_file(message.document.file_id)
datacompboy
pygtk Python Мигрирую старый говнокод с GTK 2 на GTK 4 одновременно с переносом Py2 на Py3.

Заметка на бубущее, как ловить бектрейсы GTK ворнингов:
```
G_DEBUG=fatal_warnings gdb -ex "r" -ex "py-bt" --batch --args python src/main.py
```
kunsun
Python а что, сделать словарь который автоматически сохраняется на диск при любых изменениях содержимого впринципе нельзя сделать?

Если у нас в значении список то изменение его содержимого невозможно отслеживать в реальном времени?
kunsun
Python как бы детектить в тексте таблицы оформленные таким способом. все чат-боты так выдают таблицы. в питоне есть модуль для вывода таблиц в консольке, шрифтом с постоянной шириной, но сначала надо эти таблички вычленить из текста и перевести в список списков или чего там надо для отображения таблиц

Сравнение характеристик

| Характеристика | Skoda Octavia | Toyota Avensis |
|---|---|---|
| Цена | От 1,6 млн рублей | От 1,7 млн рублей |
| Двигатель | 1.4 TSI (150 л.с.), 1.6 TDI (110 л.с.), 2.0 TSI (180 л.с.) | 1.6 Valvematic (122 л.с.), 2.0 Valvematic (152 л.с.) |
| Коробка передач | Механическая, автоматическая | Механическая, автоматическая |
| Расход топлива | 5,2-7,3 л/100 км | 6,2-7,8 л/100 км |
| Размеры | 4689x1814x1460 мм | 4695x1770x1470 мм |
| Объем багажника | 566 л | 520 л |
| Гарантия | 5 лет | 3 года |

Вывод
kunsun
Python интересно что получится если просто взять и сделать дамп в json словаря в котором лежат переводы сделанные гугол переводчиком. Что будет с запрещенными символами и переносами строк, кавычки будут экранированы или нет.