description = f"""У тебя , **{ctx.author}** вот столько балов!**{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :polegar_para_cima:**"""
description = f"""У тебя , **{ctx.author}** вот столько балов!**{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :polegar_para_cima:**"""
score = cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]
description = f"""У тебя , **{ctx.author}** вот столько балов!**{score} :polegar_para_cima:**"""
score = cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id))
score = cursor.execute("SELECT cash FROM users WHERE id = ?", (ctx.author.id,) )
score = cursor.execute("SELECT cash FROM users WHERE id = ?", (ctx.author.id,) ).fetchone()[0]
description = f"""У тебя , **{ctx.author}** вот столько балов!**{score} :polegar_para_cima:**"""
score_row = cursor.execute("SELECT cash FROM users WHERE id = ?", (ctx.author.id,) ).fetchone()
if score_row is not None:
description = f"""У тебя , **{ctx.author}** вот столько балов!**{score_row[0]} :polegar_para_cima:**"""
else:
# что делать, если такого юзера еще нет в базе?
cursor.execute("INSERT INTO users (id, cash) VALUES (?, 0)", (ctx.author.id,) ) # можно его добавить
description = f"""У тебя , **{ctx.author}** пока нет ничего! Но скоро будет!"""
.pyi файлы - это стабы (stubs), их назначение и формат описаны в PEP 484. Эти файлы вообще никак не используются интерпретатором, их назначение - предоставлять информацию о типизации кода. К примеру, у тебя есть сторонний модуль без типизации, который не твой, редактировать его ты не можешь, а прописать типы хотелось бы:
# fizz.py def greet(who): return f'Hello {who}'
Выход находится с помощью стаба: создаешь файл fizz.pyi, который содержит типизированную сигнатуру greet без имплементации:
# fizz.pyi def greet(who: str) -> str: ...
import datetime as dt
from dateutil.relativedelta import relativedelta
import pandas as pd
d1=dt.datetime(2021, 5, 16)
print ('d1==',d1)
d2=d1.replace(year=d1.year+1)
print ('d2==',d2)
d3=d1+relativedelta(years=1)
print ('d3==',d3)
d4=d1+pd.DateOffset(years=1)
print ('d4==',d4)
d1== 2021-05-16 00:00:00
d2== 2022-05-16 00:00:00
d3== 2022-05-16 00:00:00
d4== 2022-05-16 00:00:00
2021-01-01 00:00:00
skip_months = datetime.datetime(mydate.year + int(months / 12), (mydate.month % 12+ months % 12), 1)
2022-01-01 00:00:00
. То есть, 2022 год, 1 января. Потом к этому результату прибавили зачем-то еще один день (skip_months = skip_months + datetime.timedelta(days=mydate.day)
)2022-01-02 00:00:00
- 2022 год, 2 января import sqlite3
def test_db(db):
try:
db_cursor = db.cursor()
db_cursor.execute("CREATE TABLE IF NOT EXISTS users (login TEXT, password TEXT)")
db.commit()
return True
except DBError: # тут надо правильную ошибку правильно обрабатывать, я не копался, какую именно и как
return False
def add_user_into_db(db, login, password):
if test_db(db):
добавить_пользователя(login, password)
def select_from_db(db, sel):
if test_db(db):
return список_пользователей(sel)
if __name__ == '__main__':
login = 'my_login'
password = 'my_password'
sel = 'string_for_select'
with sqlite3.connect('users_base.db') as db:
add_user_into_db(db=db, login=login, password=password)
print(select_from_db(db=db, sel=sel))
string = "{:{fill}{align}{width}}"
print(string.format(' hello, world ', fill='=', align='^', width=50))
================== hello, world ==================
import os
columns,lines = os.get_terminal_size()
string = "{:{fill}{align}{width}}"
print(string.format(' hello, world ', fill='=', align='^', width=columns))
ll = [1, 0, 1, 1, 0, 1, 0, 1, 1]
answeк = []
for i in ll:
if i == 0:
continue
elif i == 1:
if len(answer) >= 3:
break
else:
answer.append(i)
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "тут xpath"))).click()