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 словаря в котором лежат переводы сделанные гугол переводчиком. Что будет с запрещенными символами и переносами строк, кавычки будут экранированы или нет.
kunsun
Python дуровограм Ж(

Error code: 429. Description: Too Many Requests: retry after 846
...
Error code: 429. Description: Too Many Requests: retry after 35118

интересно можно ли в питоне создать очередь для вызовов функций типа таких bot.set_my_name(name, lang) bot.set_my_description(desc, lang), причем эта очередь должна переживать перезапуск бота Ж) потому что с такими паузами она будет выполнятся очень долго
kunsun
Python стоит ли использовать для локализации бота gettext или лучше свой велосипед сделать

с одной стороны "промышленный стандарт", а с другой мне и надо то переводить некоторые строки на все языки автоматом. одна функция по сути
kunsun
Python А есть способ заменить в тексте все числа на слова, и сокращения на слова как они читаются? Тогда можно будет использовать голоса от silero, они звучат как живые, когда не путают ударение Ж)

Ваше место №10 -> Ваше место номер десять.


Я пытался но получилось хреново. Удалось сделать даже транслитерацию по словарю так что бы trade-in превращалось в трэйд-ин вместо траде-ин.

Но согласование чисел и особенно сокращения всё испортили.
kunsun
· Edited
Python *python не то в гугле искал. надо было ёфикаторы искать а не йофикаторы

новая задача — как заменить слово в тексте, так чтоб заменилось только слово целиком

её должно заменить ее но только если это отдельное слово а не часть другого слова

text = re.sub(r'\b' + word + r'\b', yo_word, text, flags=re.IGNORECASE) так работает только если слово огорожено пробелами и возможно концом/началом строки. если есть прилипшие знаки препинания, скобки итп то не сработает

text = re.sub('([^а-яА-ЯёЁ]+)' + word + '([^а-яА-ЯёЁ]+)', f'\\1{yo_word}\\2', text, flags=re.IGNORECASE)

так тоже не работает. работает только если вокруг слова пробелы

NLTK может правильно нарезать на слова и прочие символы но при этом теряет всю инфу о пробелах и переносах, не понятно как потом текст восстановить обратно
kunsun
Python не нашел чем прочитать mobi книги. есть одна либа но ей 10 лет что для питона фатально
еще не нашел как скачать с flibusta.is есть одна либа но..
и OPDS клиент тоже не нашел
kunsun
Python я не нашел библиотеку для питона которая может прочитать doc файл Ж( только antiword который требует либраофис по зависимостям ставить
kunsun
Python ping 104.22.21.156 показывает 1мс и из сша и из европы. при этом пинг между ними самими 70. это как?

есть один и тот же код на питоне, который дергает через реквесты и вебсокеты адрес www.perplexity.ai

из европы работает, из сша нет

настроил впн между серверами. проверил в коде есть обращение только к этому адресу. посмотрел все его ip во что резолвятся с обоих сторон. пробросил эти ип через туннель в европу. проверил что работают именно через туннель

в итоге в европе напрямую работает. в сша через европу нет

github.com
kunsun
· Edited
Python *python интересно превратит ли питон '-'*40 в константу

if line == '-' * 40:
pass

опыт с перебором всех возможных ип4 адресов показал что питон может быть чудовищно медленным. всего 4млрд вариантов перебирал в несколько потоков так долго что я успел на си переписать и получить результат за несколько секунд
kunsun
Python googletrans переводит заметно хуже чем команда trans из линукса(и гугол транслейт у себя на сайте). вроде один и тот же гугол под капотом
kunsun
· Edited
Python *python для того что бы заниматься экранированием символов в маркдауне не затрагивая текста из блоков кода пришлось создавать список блоков кода и заменять их на хеши на время экранирование. а еще надо что то подобное с ссылками делать. ну что за пиздец

а блоки кода бывают двух видов... сцуко
kunsun
· Edited
Python *python Как такое (tex?) переделать во что нибудь что нормально выглядит в телеграмме. В математические символы из юникода может быть.


$$\text{ширина в пикселях} = \frac{316.4 \times 10^6}{200} \approx 1.6 \times 10^6$$


Это оно? pylatexenc.readthedocs.io


похоже что да
print(LatexNodes2Text().latex_to_text(r'\frac{316.4 \times 10^6}{300} \approx 1.1 \times 10^6'))
316.4 ×10^6/300 ≈1.1 ×10^6
kunsun
Python иногда просто бесит. почему он не проверят перед запуском синтаксис, например опечатки в переменных игнорит до тех пор пока интерпретатор не наткнется на нах. программа может годами работать нормально а потом упасть из за того что написано keyboadr=1 вместо keyboard=1
kunsun
Python Похоже что остановить поток можно только... никак. Функция run в нем должно сама завершится и никак иначе?
Strephil
maps карты Python Полагаю, что должно преследоваться не только распространение карт, оспаривающих территориальную целостность Российской Федерации, но и библиотек для их построения.
Например, в состав многих дристобутивов Linux входит популярная библиотека python-basemap. Если воспользоваться этой библиотекой, то можно получить карту, которая будет оспаривать принадлежность русского города Херсона.
Полагаю, что владельцы зеркал дристобутивов Linux, распространяющие подобные библиотеки, должны быть привлечены к ответственности!
Россия здесь навсегда!
Strephil
Python *arch *google
Нет, мою проблему так и не починили, в репозитариях Arch'а уже вторую неделю лежит пакет, помеченный Out of date. Другие питонопакеты с ним уже не работают.
Нет, я не писал ни баг-репорт, и не пытался починить сам.
Strephil
Google Python Arch В Arch или в python опять что-то отвалилось. Я запускаю свой скрипт, который несколько лет просто работал, и теперь он опять не работает.
ImportError: cannot import name 'external_account_authorized_user' from 'google.auth'

Пакет python-google-auth помечен в арчике, как out of date. Может быть, это его как раз обновить бы нужно.
Порой, то, что pip и системный менеджер пакетов дублируют друг друга, немного подбешивает.
kunsun
Python чет не получается совместить рекурсию с мультипроцессингом Ж) хочется сделать обход директорий в несколько потоков