import math
with open('file.txt', 'r+', encoding='utf-8') as file:
data = file.read()
for line in data.splitlines():
if line.startswith('ld r'):
splited = line.split()
midpoint = math.ceil(len(splited) / 2)
splited.insert(midpoint, 'at right')
new_line = ' '.join(splited)
data = data.replace(line, new_line)
file.seek(0)
file.write(data)
file.truncate()
И боты у меня крутые, даже очень. Так что не гони на меня что я не могу делать ботов. Я основы знаю очень даже хорошо, и не только..
chunked = list(
(list_with_values[i:i+3] for i in range(0, len(list_with_values), 3)))
sql = "INSERT INTO games(game_id, name, date) VALUES (%s, %s, %s)"
cursor.executemany(sql, chunked)
connection.commit()
import numpy as np
def split_receivers(receivers, senders):
count_for_sender = int(len(receiver) / len(sender))
chunk_count = int(len(receivers) / count_for_sender)
chunked_receivers = np.array_split(receivers, chunk_count)
return {s: r.tolist() for s, r in zip(senders, chunked_receivers)}
receiver = ['receiver1@mail.ru', 'receiver2@mail.ru', 'receiver3@mail.ru', 'receiver4@mail.ru', 'receiver5@mail.ru']
sender = ['sender1@mail.ru', 'sender@mail.ru']
split_receivers(receiver, sender)
# {'sender1@mail.ru': ['receiver1@mail.ru', 'receiver2@mail.ru', 'receiver3@mail.ru'], 'sender@mail.ru': ['receiver4@mail.ru', 'receiver5@mail.ru']}
def split_list(l: list, n: int):
return [l[i::n] for i in range(n)]
receivers = [f'receiver{i}@mail.ru' for i in range(77)] # 77 получателей
senders = [f'sender{i}@mail.ru' for i in range(5)] # 5 отправителей
chunked_receivers = split_list(receivers, len(senders))
result = {s: r for s, r in zip(senders, chunked_receivers)}
*args
, **kwargs
?lst[:] = [1, lst, 7, lst]
lst = [1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
, после чего он присваивается (считай привязывается) к переменной lst
. То есть на данный момент у тебя есть переменная lst
которая ссылается на объект списка.lst[:] = [1, lst, 7, lst]
[1, lst, 7, lst]
, в котором помимо объектов int
есть еще и ссылки lst
, то есть не объекты, на которые ссылается эта переменная, а именно сама переменная, то есть ссылка. После чего ты переопределяешь переменную lst
, в том числе внутри списка. In [1]: a = [1, 2, 3]
In [2]: b = a
In [3]: b.append(4)
In [4]: b
Out[4]: [1, 2, 3, 4]
In [5]: a
Out[5]: [1, 2, 3, 4]
В чем причина?!
In [1]: import inspect
In [2]: def foo():
...: print(inspect.stack()[1][3])
...:
In [3]: def bar():
...: foo()
...:
In [4]: bar()
bar
@Bot.event
async def on_command_error(ctx, error):
if isinstance(error, commands.MissingRequiredArgument):
await ctx.channel.purge(limit = 1)
await ctx.send( f'{ctx.author.mention} ****Не корректное введние команды! Информацию можно посмотреть командой -help**** ', delete_after=45)
await ctx.send('https://cdn.discordapp.com/attachments/789968921432031272/796362246871711814/tenor_1.gif', delete_after=45)
elif isinstance(error, commands.MissingPermissions):
await ctx.channel.purge(limit = 1)
await ctx.send( f'{ctx.author.mention} ****У вас нет прав для использования этой команды! При следующей попытке выдачи любого наказания последует блокировка.****', delete_after=45)
await ctx.send('https://cdn.discordapp.com/attachments/789968921432031272/796362246871711814/tenor_1.gif', delete_after=45)