Цена за 24 часа в ленте | 1000,00 |
Цена за 1 час закрепления | N/A |
Взаимопиар | Нет |
Согласен рекламировать только IT тематику (кроме криптовалют) |
|
pywin32
pywin32
убедитесь, что он установлен. Вы можете установить его с помощью pip
:pip install pywin32
import win32com.client
# Запуск Excel
excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = True
# Создание новой книги
workbook = excel.Workbooks.Add()
# Добавление данных в ячейки
sheet = workbook.ActiveSheet
sheet.Cells(1, 1).Value = "Hello"
sheet.Cells(1, 2).Value = "World"
# Сохранение и закрытие книги
workbook.SaveAs(r"C:\Path\To\Save\example.xlsx")
workbook.Close()
excel.Quit()
import win32api
import win32process
# Получение списка всех процессов
process_ids = win32process.EnumProcesses()
# Вывод идентификаторов процессов
for pid in process_ids:
print(f"Process ID: {pid}")
import winreg
# Открытие ключа реестра
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Windows\CurrentVersion\Run")
# Чтение значений
try:
i = 0
while True:
name, value, type = winreg.EnumValue(key, i)
print(f"Name: {name}, Value: {value}")
i += 1
except OSError:
pass
# Закрытие ключа
winreg.CloseKey(key)
import win32gui
# Отображение окна с сообщением
win32gui.MessageBox(0, "Hello, World!", "Title", 0)
import wmi
# Инициализация WMI
c = wmi.WMI()
# Получение информации о процессоре
for processor in c.Win32_Processor():
print(f"Processor ID: {processor.ProcessorId.strip()}")
print(f"Name: {processor.Name}")
print(f"Number of Cores: {processor.NumberOfCores}")
# Получение информации о системе
for os in c.Win32_OperatingSystem():
print(f"OS Name: {os.Name}")
print(f"Version: {os.Version}")
print(f"Manufacturer: {os.Manufacturer}")
import win32evtlog
# Открытие журнала событий
server = 'localhost' # Локальная машина
logtype = 'System'
hand = win32evtlog.OpenEventLog(server, logtype)
# Чтение событий
flags = win32evtlog.EVENTLOG_FORWARDS_READ | win32evtlog.EVENTLOG_SEQUENTIAL_READ
events = win32evtlog.ReadEventLog(hand, flags, 0)
for event in events:
print(f"Event Category: {event.EventCategory}")
print(f"Time Generated: {event.TimeGenerated}")
print(f"Source Name: {event.SourceName}")
print(f"Event ID: {event.EventID}")
print(f"Event Type: {event.EventType}")
# Закрытие журнала
win32evtlog.CloseEventLog(hand)
pip install pypdf2
import PyPDF2
import PyPDF2
# Открываем PDF файл
with open('example.pdf', 'rb') as file:
reader = PyPDF2.PdfReader(file)
# Получаем количество страниц
num_pages = len(reader.pages)
print(f'Количество страниц: {num_pages}')
# Извлекаем текст с каждой страницы
for page_num in range(num_pages):
page = reader.pages[page_num]
text = page.extract_text()
print(f'Текст на странице {page_num + 1}:\n{text}')
import PyPDF2
# Список PDF файлов для объединения
pdf_files = ['file1.pdf', 'file2.pdf', 'file3.pdf']
# Создаем объект PdfMerger
merger = PyPDF2.PdfMerger()
# Добавляем каждый файл в PdfMerger
for pdf in pdf_files:
merger.append(pdf)
# Сохраняем объединенный PDF файл
with open('merged.pdf', 'wb') as output_file:
merger.write(output_file)
import PyPDF2
# Открываем исходный PDF файл
with open('example.pdf', 'rb') as file:
reader = PyPDF2.PdfReader(file)
# Разделяем на отдельные страницы
for page_num in range(len(reader.pages)):
writer = PyPDF2.PdfWriter()
writer.add_page(reader.pages[page_num])
# Сохраняем каждую страницу в отдельный файл
output_filename = f'page_{page_num + 1}.pdf'
with open(output_filename, 'wb') as output_file:
writer.write(output_file)
import PyPDF2
# Открываем исходный PDF файл и файл с водяным знаком
with open('example.pdf', 'rb') as input_file, open('watermark.pdf', 'rb') as watermark_file:
reader = PyPDF2.PdfReader(input_file)
watermark = PyPDF2.PdfReader(watermark_file).pages[0]
writer = PyPDF2.PdfWriter()
# Добавляем водяной знак на каждую страницу
for page_num in range(len(reader.pages)):
page = reader.pages[page_num]
page.merge_page(watermark)
writer.add_page(page)
# Сохраняем результат
with open('watermarked.pdf', 'wb') as output_file:
writer.write(output_file)
import PyPDF2
# Открываем PDF файл
with open('example.pdf', 'rb') as file:
reader = PyPDF2.PdfReader(file)
# Извлекаем метаданные
metadata = reader.metadata
print(metadata)
import PyPDF2
# Открываем PDF файл
with open('example.pdf', 'rb') as file:
reader = PyPDF2.PdfReader(file)
# Извлекаем закладки
bookmarks = reader.get_outlines()
for bookmark in bookmarks:
print(bookmark.title, bookmark.page)
pip install scrapy
scrapy startproject myproject
myproject/
scrapy.cfg
myproject/
__init__.py
items.py
middlewares.py
pipelines.py
settings.py
spiders/
__init__.py
myspider.py
myproject/spiders/myspider.py
:import scrapy
class MySpider(scrapy.Spider):
name = "myspider"
start_urls = ['http://example.com']
def parse(self, response):
for title in response.css('h1::text'):
yield {'title': title.get()}
scrapy crawl myspider
myproject/items.py
:import scrapy
class MyItem(scrapy.Item):
title = scrapy.Field()
link = scrapy.Field()
import scrapy
from myproject.items import MyItem
class MySpider(scrapy.Spider):
name = "myspider"
start_urls = ['http://example.com']
def parse(self, response):
for title in response.css('h1::text'):
item = MyItem()
item['title'] = title.get()
item['link'] = response.url
yield item
scrapy crawl myspider -o output.json
myproject/settings.py
:# Настройки для User-Agent
USER_AGENT = 'myproject (+http://www.yourdomain.com)'
# Настройки для логирования
LOG_LEVEL = 'INFO'
# Настройки для конвейеров (pipelines)
ITEM_PIPELINES = {
'myproject.pipelines.MyPipeline': 300,
}
myproject/pipelines.py
:class MyPipeline:
def process_item(self, item, spider):
# Обработка данных
item['title'] = item['title'].upper()
return item
import scrapy
class MySpider(scrapy.Spider):
name = "myspider"
start_urls = ['http://example.com/page/1']
def parse(self, response):
for title in response.css('h1::text'):
yield {'title': title.get()}
next_page = response.css('a.next::attr(href)').get()
if next_page is not None:
yield response.follow(next_page, self.parse)
import scrapy
from scrapy.spidermiddlewares.httperror import HttpError
from twisted.internet.error import DNSLookupError
from twisted.internet.error import TimeoutError
class MySpider(scrapy.Spider):
name = "myspider"
start_urls = ['http://example.com']
def start_requests(self):
for url in self.start_urls:
yield scrapy.Request(url, callback=self.parse, errback=self.errback_httpbin)
def parse(self, response):
# Ваш код для обработки успешного ответа
pass
def errback_httpbin(self, failure):
self.logger.error(repr(failure))
if failure.check(HttpError):
response = failure.value.response
self.logger.error('HttpError on %s', response.url)
elif failure.check(DNSLookupError):
request = failure.request
self.logger.error('DNSLookupError on %s', request.url)
elif failure.check(TimeoutError):
request = failure.request
self.logger.error('TimeoutError on %s', request.url)
pip install fastapi uvicorn
uvicorn main:app --reload
(где main
- файл с приложением, app
- объект FastAPI)from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
@app.get("/items/{item_id}")
@app.post("/items/")
@app.put("/items/{item_id}")
@app.delete("/items/{item_id}")
@app.get("/items/{item_id}")
@app.get("/items/")
, async def read_items(q: str = None):
from pydantic import BaseModel
class Item(BaseModel):
name: str
description: str | None = None
price: float
tax: float | None = None
@app.post("/items/")
async def create_item(item: Item):
return item
age: int = Field(..., gt=0, lt=120)
/docs
./redoc
.from fastapi import FastAPI, Depends
async def get_db():
db = ... # подключение к базе данных
try:
yield db
finally:
db.close()
@app.get("/items/")
async def read_items(db: Session = Depends(get_db)):
...
from fastapi import FastAPI, Depends
from sqlalchemy.orm import Session
from . import crud, models, schemas
from .database import SessionLocal, engine
models.Base.metadata.create_all(bind=engine)
app = FastAPI()
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
@app.post("/users/", response_model=schemas.User)
def create_user(user: schemas.UserCreate, db: Session = Depends(get_db)):
return crud.create_user(db=db, user=user)
pip install opencv-python
import cv2
import numpy as np
cap = cv2.VideoCapture('video.mp4') # Для видеофайла
# cap = cv2.VideoCapture(0) # Для захвата с камеры
ret, frame1 = cap.read()
ret, frame2 = cap.read()
while cap.isOpened():
diff = cv2.absdiff(frame1, frame2)
gray = cv2.cvtColor(diff, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray, (5, 5), 0)
_, thresh = cv2.threshold(blur, 20, 255, cv2.THRESH_BINARY)
dilated = cv2.dilate(thresh, None, iterations=3)
contours, _ = cv2.findContours(dilated, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for contour in contours:
if cv2.contourArea(contour) < 500:
continue
x, y, w, h = cv2.boundingRect(contour)
cv2.rectangle(frame1, (x, y), (w + x, h + y), (0, 255, 0), 2)
cv2.imshow("feed", frame1)
frame1 = frame2
ret, frame2 = cap.read()
if cv2.waitKey(40) == 27: # Нажмите ESC для выхода
break
cap.release()
cv2.destroyAllWindows()
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
cap = cv2.VideoCapture('video.mp4') # Для видеофайла
# cap = cv2.VideoCapture(0) # Для захвата с камеры
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
# Детекция людей
boxes, weights = hog.detectMultiScale(frame, winStride=(8, 8), padding=(8, 8), scale=1.05)
# Отрисовка прямоугольников вокруг обнаруженных людей
for (x, y, w, h) in boxes:
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow("People Detection", frame)
if cv2.waitKey(30) == 27: # Нажмите ESC для выхода
break
cap.release()
cv2.destroyAllWindows()
winStride
, padding
, и scale
в методе hog.detectMultiScale
.pip install matplotlib seaborn
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.plot(x, y, marker='o', linestyle='-', color='b')
plt.title('Простой график')
plt.xlabel('X ось')
plt.ylabel('Y ось')
plt.grid(True)
plt.show()
plt.style.use('ggplot') # Пример стиля
'ggplot'
, 'seaborn'
, 'fivethirtyeight'
, 'bmh'
, 'dark_background'
.x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [2, 3, 5, 7, 11]
plt.plot(x, y1, label='y = x^2')
plt.plot(x, y2, label='y = простое число')
plt.legend()
plt.show()
plt.plot(x, y)
plt.text(3, 5, 'Точка (3, 5)', fontsize=12, color='red')
plt.show()
import seaborn as sns
import numpy as np
data = np.random.randn(1000)
sns.histplot(data, kde=True)
plt.show()
tips = sns.load_dataset("tips")
sns.boxplot(x="day", y="total_bill", data=tips)
plt.show()
sns.pairplot(tips, hue="sex")
plt.show()
corr = tips.corr()
sns.heatmap(corr, annot=True, cmap='coolwarm')
plt.show()
plt.figure(figsize=(10, 6)) # Ширина и высота
plt.savefig('график.png', dpi=300, bbox_inches='tight')
plt.xlim([0, 10])
plt.ylim([0, 20])
sns.set(style="whitegrid")
plt.plot(x, y)
sns.despine()
plt.show()
savefig
с указанием расширения .jpg
. Вот как это делается:import matplotlib.pyplot as plt
# Пример простого графика
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.plot(x, y, marker='o', linestyle='-', color='b')
plt.title('Простой график')
plt.xlabel('X ось')
plt.ylabel('Y ось')
plt.grid(True)
# Сохранение графика в формате JPG
plt.savefig('grafik.jpg', format='jpg', dpi=300, bbox_inches='tight')
plt.show()
savefig
:.jpg
. Это указывает на то, что график будет сохранен в формате JPG.grafik.jpg
в текущей директории с хорошим качеством.
import asyncio
async def my_async_function():
print("Начало задачи")
await asyncio.sleep(2) # Асинхронная задержка на 2 секунды
print("Задача завершена")
async def main():
await my_async_function()
asyncio.run(main())
async def main():
task1 = asyncio.create_task(my_async_function())
task2 = asyncio.create_task(my_async_function())
await task1 # Ожидание завершения task1
await task2 # Ожидание завершения task2
async for
.async def
и yield
.async def async_generator():
for i in range(3):
await asyncio.sleep(1)
yield i
async def main():
async for value in async_generator():
print(value)
asyncio.run(main())
async def task1():
await asyncio.sleep(1)
return "Task 1 завершена"
async def task2():
await asyncio.sleep(2)
return "Task 2 завершена"
async def main():
results = await asyncio.gather(task1(), task2())
print(results)
asyncio.run(main())
async def faulty_task():
raise ValueError("Ошибка в задаче!")
async def main():
try:
await faulty_task()
except ValueError as e:
print(f"Исключение поймано: {e}")
asyncio.run(main())
re
)import re
# Основные символы
. # Любой символ, кроме новой строки
^ # Начало строки
$ # Конец строки
[] # Символьный класс (например, [a-z])
| # Логическое "ИЛИ" (например, a|b)
() # Группировка
re.findall(r'\d+', text) # Найти все числа
re.search(r'\d+', text) # Найти первое число
re.sub(r'\d+', '#', text) # Заменить все числа на '#'
re.split(r'\s+', text) # Разбить строку по одному или более пробелам
re.fullmatch(r'\d{3}-\d{2}-\d{2}', text) # Проверить, полностью ли строка соответствует шаблону
# Квантификаторы
* # 0 или более раз
+ # 1 или более раз
? # 0 или 1 раз
{n} # Ровно n раз
{n,} # Не менее n раз
{n,m} # От n до m раз
# Группировка
pattern = r'(\d{3})-(\d{2})-(\d{2})'
match = re.search(pattern, text)
match.group(1) # Доступ к первой группе
\d # Любая цифра
\D # Любой нецифровой символ
\s # Любой пробельный символ
\S # Любой непробельный символ
\w # Любая буква, цифра или _
\W # Любой символ, кроме \w
# Пример
re.findall(r'\b\d{3}\b', text) # Найти три цифры, ограниченные границей слова
pip install pygame
import pygame
pygame.init()
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Моя игра")
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((0, 0, 0)) # Очистка экрана
pygame.display.flip() # Обновление экрана
pygame.quit()
image = pygame.image.load("image.png")
screen.blit(image, (100, 100))
font = pygame.font.Font(None, 36)
text = font.render("Привет, Pygame!", True, (255, 255, 255))
screen.blit(text, (50, 50))
pygame.draw.line(screen, (255, 0, 0), (100, 100), (200, 200), 5)
pygame.draw.circle(screen, (0, 255, 0), (400, 300), 50)
pygame.draw.rect(screen, (0, 0, 255), (300, 250, 100, 50))
sound = pygame.mixer.Sound("sound.wav")
sound.play()
pygame.mixer.music.load("music.mp3")
pygame.mixer.music.play(-1) # Зацикливание
x, y = 100, 100
x += 5 # Двигаем объект
screen.blit(image, (x, y))
keys = pygame.key.get_pressed() # Клавиатура
if keys[pygame.K_LEFT]:
x -= 5
mouse_pos = pygame.mouse.get_pos() # Мышь
if pygame.mouse.get_pressed()[0]:
print("Левая кнопка нажата")
clock = pygame.time.Clock()
clock.tick(60) # 60 FPS
class Player(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.image = pygame.Surface((50, 50))
self.image.fill((0, 255, 0))
self.rect = self.image.get_rect()
player = Player()
all_sprites = pygame.sprite.Group(player)
all_sprites.update() # Обновление спрайтов
all_sprites.draw(screen) # Отрисовка спрайтов
if pygame.sprite.spritecollide(player, all_sprites, False):
print("Столкновение!")
if player.rect.colliderect(other_rect):
print("Столкновение с прямоугольником!")
pygame.time.set_timer(pygame.USEREVENT, 1000) # Каждую секунду
pip install openai
import openai
# Ваш API-ключ OpenAI
openai.api_key = 'YOUR_API_KEY'
# Текстовое описание изображения
prompt = "Собака, играющая в парке с мячом"
# Запрос к API для генерации изображения
response = openai.Image.create(
prompt=prompt,
n=1, # количество изображений
size="512x512" # размер изображения
)
# Получаем URL сгенерированного изображения
image_url = response['data'][0]['url']
print(f"Сгенерированное изображение доступно по адресу: {image_url}")
diffusers
от Hugging Face.pip install diffusers transformers torch
import torch
from diffusers import StableDiffusionPipeline
# Загрузка модели
model_id = "runwayml/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda") # Для ускорения можно использовать GPU
# Текстовое описание изображения
prompt = "A futuristic cityscape with flying cars at sunset"
# Генерация изображения
image = pipe(prompt).images[0]
# Сохранение изображения
image.save("generated_image.png")
pip install gTTS
from gtts import gTTS
import os
# Текст для преобразования
text = "Привет, как дела?"
# Создаем объект gTTS
tts = gTTS(text=text, lang='ru', slow=False)
# Сохраняем в аудиофайл
tts.save("output.mp3")
# Воспроизводим файл (опционально, зависит от вашей ОС)
os.system("start output.mp3") # На Windows
# os.system("mpg321 output.mp3") # На Linux, если установлен mpg321
pip install pyttsx3
import pyttsx3
# Создаем объект движка
engine = pyttsx3.init()
# Устанавливаем свойства
engine.setProperty('rate', 150) # Скорость речи
engine.setProperty('volume', 0.9) # Громкость (0.0 до 1.0)
# Устанавливаем русский язык (если поддерживается вашим движком)
voices = engine.getProperty('voices')
for voice in voices:
if 'ru' in voice.languages:
engine.setProperty('voice', voice.id)
break
# Текст для синтеза
text = "Привет, как дела?"
# Запускаем синтез речи
engine.say(text)
engine.runAndWait()
requests
для отправки HTTP-запросов, если она еще не установлена:pip install requests
import requests
# Замените 'YOUR_API_KEY' на ваш API-ключ
api_key = 'YOUR_API_KEY'
text = "Привет, как дела?"
# URL API
url = 'https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize'
# Параметры запроса
params = {
'text': text,
'lang': 'ru-RU',
'voice': 'oksana',
'speed': '1.0',
'format': 'mp3'
}
# Заголовки запроса
headers = {
'Authorization': f'Api-Key {api_key}'
}
# Отправляем запрос
response = requests.post(url, headers=headers, data=params)
# Сохраняем аудиофайл
with open('output.mp3', 'wb') as f:
f.write(response.content)
# Воспроизводим файл (опционально)
os.system("start output.mp3") # На Windows
# os.system("mpg321 output.mp3") # На Linux, если установлен mpg321