← All posts tagged Python

kunsun
· Edited
Python *python помнится я долго искал библиотеку для чтения старых эксель файлов и нинашел. оказалось что панда умеет

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

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

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

и

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


первый вариант у меня стал говорить что нету никакого fuzzywzyy.fuzz
kunsun
· Edited
Python *python что то странное произошло. бот перестал работать. стал перезапускаться со словами в этой функции нет таких аргументов как будто версия библиотеки сильно изменилась. обновление библиотеки исправило ситуацию

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

целый час бот не работал и никто не доложил о поломке Ж(
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)
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 превращалось в трэйд-ин вместо траде-ин.

Но согласование чисел и особенно сокращения всё испортили.