3 полезни Python скрипта

5 полезни Python скрипта

Python е мощен език за програмиране, който може да се използва за различни цели. Той е лесен за научаване и използване, което го прави популярен избор за начинаещи програмисти.

Ето 3 полезни Python скрипта, които можете да използвате:

1. Скрипт за тестване на скоростта на интернет и пинга

Този скрипт използва библиотеката Speedtest, за да ви помогне да тествате скоростта на интернет връзката си. Той измерва скоростта на изтегляне, скоростта на качване и пинга.

from speedtest import Speedtest
from tabulate import tabulate
import time

def test_internet_speed():
    st = Speedtest()

    print("Тестване на скоростта на изтегляне...")
    download_speed = st.download() / 1_000_000  # преобразуваме битовете в мегабайти
    print(f"Скорост на изтегляне: {download_speed:.2f} Mbps")

    # Задержка от 2 секунди преди вторият тест
    time.sleep(2)

    print("\nТестване на скоростта на качване...")
    upload_speed = st.upload() / 1_000_000  # преобразуваме битовете в мегабайти
    print(f"Скорост на качване: {upload_speed:.2f} Mbps")

    # Задержка от 2 секунди преди третият тест
    time.sleep(2)

    print("\nТестване на пинг...")
    ping = st.results.ping
    print(f"Пинг: {ping:.2f} ms")

    # Показване на измерванията в табличен вид
    data = {"Тип тест": ["Изтегляне", "Качване", "Пинг"],
            "Резултат (Mbps/ms)": [download_speed, upload_speed, ping]}
    table = tabulate(data, headers="keys", tablefmt="pretty")
    print("\nРезултати:")
    print(table)

if __name__ == "__main__":
    test_internet_speed()

Как да го използвате:

За да използвате скрипта, просто го копирайте и поставете в текстов редактор. След това го запишете с разширение .py, например speed.py. За да изпълните скрипта, отворете терминал и изпълнете следната команда:

python speed.py

speed.py

2. Скрипт за генериране на пароли със зададени опции

За този функционалност използвам библиотеката pyperclip, която трябва да бъде инсталирана предварително с командата pip install pyperclip.

Ето един скрипт за генериране на пароли със зададени опции за дължина, букви, цифри и символи.

import string
import random
import pyperclip

def generate_password(length=12, use_letters=True, use_digits=True, use_symbols=True):
    # Проверка на входните параметри
    if not use_letters and not use_digits and not use_symbols:
        raise ValueError("Поне един от параметрите 'use_letters', 'use_digits' или 'use_symbols' трябва да бъде True.")

    # Създаване на списъци със символи спрямо опциите
    letters = string.ascii_letters if use_letters else ""
    digits = string.digits if use_digits else ""
    symbols = string.punctuation if use_symbols else ""

    # Общ списък с всички възможни символи
    all_characters = letters + digits + symbols

    # Генериране на паролата
    password = random.choices(all_characters, k=length)

    return ''.join(password)

def copy_to_clipboard(text):
    pyperclip.copy(text)

if __name__ == "__main__":
    try:
        # Въвеждане на опции от потребителя
        length = int(input("Дължина на паролата: "))
        use_letters = input("Използвай букви? (да/не): ").lower() == "да"
        use_digits = input("Използвай цифри? (да/не): ").lower() == "да"
        use_symbols = input("Използвай символи? (да/не): ").lower() == "да"

        # Генериране на паролата
        password = generate_password(length, use_letters, use_digits, use_symbols)

        # Извеждане на паролата
        print(f"\nГенерирана парола: {password}")

        # Питане дали да се копира паролата в клипборда
        copy_to_clipboard_input = input("Желаете ли да копирате паролата в клипборда? (да/не): ").lower()
        if copy_to_clipboard_input == "да":
            copy_to_clipboard(password)
            print("Паролата е копирана успешно в клипборда.")

    except ValueError as ve:
        print(f"Грешка: {ve}")

Скрипт за генериране на пароли

3. Скрипт за генериране на списък с IP адреси

Първо, трябва да определите мрежовия диапазон, за който искате да създадете списък с IP адресите. Нека предположим, че желаете списък с адресите от 10.20.20.0 до 10.20.20.20.

Ще използваме цикъл за извеждане на всеки IP адрес в конзолата:

for i in range(1, 21):
    ip_address = f'10.20.20.{i}/24'
    print(ip_address)

Този код използва print() функцията, за да изведе всеки генериран IP адрес в конзолата. Така ще виждате списъка с IP адресите директно в терминала при изпълнение на скрипта.

IP адрес

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: