import csv
import os
from pathlib import Path
# Данные из переменной 'a'
my_row = {
'url': 'https://www.coindesk.com/policy/2024/08/08/ftx-alameda-ordered-to-pay-127b-to-creditors-by-us-judge/',
'title': 'FTX, Alameda Ordered to Pay $12.7B to Creditors by U.S. Judge',
'author': 'Shaurya Malwa',
'date': 'Aug 8, 2024 at 6:44 a.m. UTC'
}
# делаю три строчки для примера массива.
data = [my_row] * 3
# Имя CSV файла
dir_path = Path(os.path.dirname(os.path.realpath(__file__)))
pathname = dir_path / 'data'
if not pathname.exists():
os.mkdir(pathname)
filename = pathname / 'data3.csv'
# Открываем файл в режиме добавления (append) с возможностью чтения (a+)
with open(filename, mode='a+', newline='', encoding='utf-8') as file:
# Создаем объект writer для записи данных в CSV
writer = csv.DictWriter(file, fieldnames=data[0].keys(), dialect='excel-tab')
# Если файл пустой или только что создан, записываем заголовки
if not filename.exists() or file.tell() == 0:
writer.writeheader() # Записываем заголовки (названия столбцов)
# Записываем строки данных (содержимое столбцов)
for row in data:
writer.writerow(row)
enter iv :
from Crypto.Random import get_random_bytes
import struct
def StartEncrypt():
# Генерация случайного IV (Initialization Vector)
iv = get_random_bytes(16)
print(len(iv))
print(iv)
# Вывод информации о результате шифрования
print(f'IV: {struct.unpack("b"*len(iv), iv)}')
def StartDeCrypt():
# IV, полученный при шифровании
data = input("enter iv :")
for item in ['(', ')']:
data = data.replace(item,'')
str_iv = tuple(map(int, data.split(',')))
print(str_iv)
iv = struct.pack('b'*len(str_iv), *str_iv)
print(iv)
print(len(iv))
StartEncrypt()
StartDeCrypt()
16
b'?\x06\x8f\xe9\xde!\xa0\xa8\x07\xfc\xb9\x1b\xb2X\x1e\x96'
IV: (63, 6, -113, -23, -34, 33, -96, -88, 7, -4, -71, 27, -78, 88, 30, -106)
enter iv :63, 6, -113, -23, -34, 33, -96, -88, 7, -4, -71, 27, -78, 88, 30, -106)
(63, 6, -113, -23, -34, 33, -96, -88, 7, -4, -71, 27, -78, 88, 30, -106)
b'?\x06\x8f\xe9\xde!\xa0\xa8\x07\xfc\xb9\x1b\xb2X\x1e\x96'
16
bot.send_message(…)
bot
это очевидно экземпляр класса, а .send_message(…)
его метод. Очевидно, внутри этих класса и метода спрятаны механизмы отправки, подобные описанным выше во второй ссылке.