begin_f = 1234
end_f = 7890
bytes_to_read = end_f - begin_f
with open(file, 'rb') as ifile, open(output_file, 'wb') as ofile:
ifile.seek(begin_f)
data = ifile.read(bytes_to_read)
ofile.write(data)
InlineKeyboardMarkup
с callback_data
в сообщении бота вместо ReplyKeyboardMarkup
и редактировании сообщения edit_message_text
при нажатии на кнопку пользователем. asyncio.run(...)
блокирующая, это что значит что до конца её выполнения следующий код не будет вызван. Она специально добавлена в стандартную библиотеку, чтобы упростить запуск корутин, и по-хорошему должна вызываться один раз.full
с двумя разными токенами, то воспользуйтесь тем же gather
, что у вас выше в коде. sign_in
с кодом, который вы получите по SMS или телефонному звонку. Если к номеру телефона не привязан никакой аккаунт Telegram, то в ответе будет информация о необходимости регистрации. Вот тогда нужно будет вызывать метод sign_up
.for i in range(10):
...
self.b_course[i].clicked.connect(lambda: self.enter_course(value))
for i in range(10):
...
self.b_course[i].clicked.connect(lambda state, v=value: self.enter_course(v))
globals()
(например _
из стандартной gettext
) до замены следующего кода на другой (например автоматический импорт модулей в библиотеке ipython-autoimport). Поэтому без выполнения кода не получится определить будет ли исключение NameError или нет.-i
у интерпретатора python.Ctrl-Z
.duck.about()
в обоих случаях предполагает наличие в пространстве имён объектов с именами bill
и tail
, у которых соответственно имеются нужные аттрибуты description
и length
. Так обычно не пишут, поэтому второй случай ближе к реальному коду, но в нём необходимо тогда заменить print(bill.description,tail.lenght)
на print(self.bill.description, self.tail.lenght)
.list[1], list[3]
при условии, что значение из list[1]
встречается больше 1 раза во всём списке.from collections import Counter, defaultdict
from operator import itemgetter
l = [...] # Ваш список
items = (1, 3)
names = defaultdict(Counter)
for name, subname in map(itemgetter(*items), l):
names[name][subname] += 1
common_names = {name: set(subnames) for name, subnames in names.items() if sum(subnames.values()) > 1}
result = [[name, subname] for name, subnames in common_names.items() for subname in subnames]