Каждый день мы сталкиваемся с множеством задач программирования, требующих сложного кодирования. Вы не сможете решить эти проблемы с помощью простого базового синтаксиса Python. В этой статье я расскажу о 13 продвинутых скриптах Python, которые могут стать полезными инструментами в вашем проекте.
Создание веб-роботов
Этот скрипт поможет вам автоматизировать веб-сайты с помощью Python. Вы сможете создать веб-робота, который сможет управлять любым веб-сайтом. Ознакомьтесь с приведенным ниже кодом. Этот скрипт очень удобен для веб-скрапинга и автоматизации веб-сайтов.
Улучшение изображений в Python
Улучшайте свои фотографии с помощью библиотеки Python Pillow, чтобы они выглядели лучше. В приведенном ниже коде я реализовал четыре способа улучшения любой фотографии.
# pip install pillow from PIL import Image,ImageFilter from PIL import ImageEnhance im = Image.open(‘img.jpg’) # Choose your filter # add Hastag at start if you don’t want to any filter below en = ImageEnhance.Color(im) en = ImageEnhance.Contrast(im) en = ImageEnhance.Brightness(im) en = ImageEnhance.Sharpness(im)# result en.enhance(1.5).show(«enhanced»)
Получите тексты песен
Этот продвинутый скрипт покажет вам, как получить текст любой песни.
Что такое Python и почему вы захотите его изучить?
Сначала вы должны получить бесплатный API-ключ на сайте Lyricsgenius, а затем выполнить следующий код. Этот продвинутый скрипт покажет вам, как получить текст любой песни. Сначала вы должны получить бесплатный API-ключ на сайте Lyricsgenius, а затем выполнить следующий код.
# pip install lyricsgenius import lyricsgenius api_key = «xxxxxxxxxxxxxxxxxxxxx» genius = lyricsgenius.Genius(api_key) artist = genius.search_artist(«Pop Smoke», max_songs=5,sort=»title») song = artist.song(«100k On a Coupe») print(song.lyrics)
Получение данных Exif для фотографий
Используйте модуль Python Pillow для получения Exif-данных любой фотографии. Ознакомьтесь с кодом, приведенным ниже. Я предлагаю два метода извлечения Exif-данных из фотографий.
# Get Exif of Photo # Method 1 # pip install pillow import PIL.Image import PIL.ExifTags img = PIL.Image.open(«Img.jpg») exif_data = < PIL.ExifTags.TAGS[i]: j for i, j in img._getexif().items() if i in PIL.ExifTags.TAGS >print(exif_data) # Method 2 # pip install ExifRead import exifread filename = open(path_name, ‘rb’) tags = exifread.process_file(filename) print(tags)
Поиск в Google
Вы можете извлечь URL Retargeting из поисковой системы Google, установить следующий модуль упоминания и следовать коду.
# pip install google from googlesearch import search query = «Medium.com» for url in search(query): print(url)
Преобразование: шестнадцатеричная система в RGB
Скрипт просто преобразует шестнадцатеричное число в RGB. Посмотрите пример кода ниже.
# Conversion: Hex to RGB def Hex_to_Rgb(hex): h = hex.lstrip(‘#’) return tuple(int(h[i:i+2], 16) for i in (0, 2, 4)) print(Hex_to_Rgb(‘#c96d9d’)) # (201, 109, 157) print(Hex_to_Rgb(‘#fa0515’)) # (250, 5, 21)
Конвертация фотографий в формат Cartonize
Этот простой продвинутый скрипт конвертирует ваши фотографии в формат Cartonize. Посмотрите пример кода ниже и попробуйте.
Python. Команды print() input()
# pip install opencv-python import cv2 img = cv2.imread(‘img.jpg’) grayimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) grayimg = cv2.medianBlur(grayimg, 5) edges = cv2.Laplacian(grayimg , cv2.CV_8U, ksize=5) r,mask =cv2.threshold(edges,100,255,cv2.THRESH_BINARY_INV) img2 = cv2.bitwise_and(img, img, mask=mask) img2 = cv2.medianBlur(img2, 5) cv2.imwrite(«cartooned.jpg», mask)
Тестирование скорости с помощью Python
Этот продвинутый скрипт поможет вам протестировать скорость интернета с помощью Python. Просто установите модуль тестирования скорости и выполните следующий код.
# pip install pyspeedtest # pip install speedtest # pip install speedtest-cli #method 1 import speedtest speedTest = speedtest.Speedtest() print(speedTest.get_best_server()) #Check download speed print(speedTest.download()) #Check upload speed print(speedTest.upload()) # Method 2 import pyspeedtest st = pyspeedtest.SpeedTest() st.ping() st.download() st.upload()
Состояние сайта
Вы можете использовать Python, чтобы проверить, нормально ли работает сайт. Проверьте следующий код, он отображает 200, что означает, что сайт запущен. Если он отображает 404, это означает, что сайт закрыт.
Извлечение текста OCR из изображений
OCR – это метод распознавания текста из цифр и отсканированных документов. Многие разработчики используют его для чтения рукописных данных, и следующий код на Python может преобразовать отсканированные изображения в текстовый формат OCR.
Примечание: Вы должны загрузить файл tesseract.exe с Github.
# pip install pytesseract import pytesseract from PIL import Image pytesseract.pytesseract.tesseract_cmd = r’C:Program FilesTesseract-OCRtesseract.exe’ t=Image.open(«img.png») text = pytesseract.image_to_string(t, config=») print(text)
Получить версию Windows
Этот простой скрипт поможет вам получить полную версию окна, которое вы используете в данный момент.
# Window Versionimport wmi data = wmi.WMI() for os_name in data.Win32_OperatingSystem(): print(os_name.Caption) # Microsoft Windows 11 Home
Преобразование PDF в изображение
Используйте следующий код для преобразования всех страниц Pdf в изображения.
Очитска корзины для мусора
Этот простой скрипт позволяет вам очистить корзину с помощью Python. Посмотрите приведенный ниже код, чтобы узнать, как это сделать.
# pip install winshell import winshell try: winshell.recycle_bin().empty(confirm=False, /show_progress=False, sound=True) print(«Recycle bin is emptied Now») except: print(«Recycle bin already empty»)
Источник: uproger.com
Ключевые слова и идентификаторы в Python
В Python есть список определенных слов, которые нельзя использовать в качестве названий переменных или функций, так как эти имена уже используются самим языком, для формирования синтаксиса, и самой структуры языка.
Важно помнить, что ключевые слова в Python, чувствительны к регистру. Все ключевые слова, кроме True , False , None , пишутся исключительно в нижнем регистре. Ниже приведен список всех ключевых слов.
Пока не пытайтесь понять что означает выше приведенная таблица, возможно вам сейчас кажется что все запутанно, и непонятно, но, мы с вами пройдемся по порядку, и в конечном итоге, вы поймете, что Python имеет отличный, понятный синтаксис. Если вы все же хотите немного поближе познакомится с зарезервированными словами, то вот вам полный список ключевых слов с примерами их применения.
Идентификаторы в Python
Идентификаторы — это имя, присваиваемой классам, функциям, переменным, они помогают отличить одно от другого, и с помощью идентификаторов, мы можем обращаться к вышеописанным сущностям.
Правила создания идентификаторов
- Идентификаторы — это комбинация букв в нижнем или верхнем регистре, цифры от 0 — 9, и символ подчеркивания. Примеры идентификаторов:
ClassName , variable_1 , или говорящие сами за себя названия по типу, firtst_name , LastName . Старайтесь создавать такие идентификаторы, по названиям которых, будет понятно, что хранится в этих идентификаторах. - Важно! Идентификатор НЕ может начинаться с цифры, 1name (неправильно) , правильно будет name1.
- Зарезервированные слова, не могут использоваться в качестве пользовательских идентификаторов, например: global = 1 на выходе, при запуске нашей программы мы получим следующую ошибку:
File «interactive input», line 1 global = 1 ^ SyntaxError: invalid syntax
Важно запомнить
Python имеет высокую чувствительность к регистру, соответственно Name и name, это не одно и тоже, это разные идентификаторы. Как я уже писал, важно всегда давать переменным осмысленные названия, зачастую бывает такое, что спустя немного времени, вам сложно разобраться, что хранится в том, или ином идентификаторе.
Операторы, Отступы и комментарии в Python
Различные инструкции, которые может выполнять Python, называются операторами. Например count = 10, это оператор присваивания (переменной count с помощью знака равенства присваивается значение 10), оператор if, используется для создания условий, или оператор for, который используется для организации цикла, есть и другие операторы, которые с вами позже рассмотрим подробнее.
Отступы в Python
Во многих языках программирования, используют фигурные скобки, для того, что бы определить блок кода, в Python, блок кода определяется отступами. По общепринятым правилам используется четыре пробела, или табуляция. Пример:
for i in range(1,11): print(i) if i == 5: break
Применения отступов, делает код Python аккуратным, и программы написанные на этом языке, выглядят стандартизированными, что в свою очередь повышает читабельность кода. Не всегда отступ обязателен, его можно пропустить, но взамен, мы рискуем получить некрасивый код, ниже приведены примеры с отступом, и без.
if True: print (‘Hello’) a = 5
if True: print (‘Hello’): a = 5
Оба вышеприведенных кода, идентичны, и оба они верны с технической точки зрения, но стиль первого блока кода, более ясен, и более читабелен. Поэтому в дальнейшем рекомендую вам придерживаться вышеописанного стиля.
Комментарии в Python
Комментарии, это неотъемлемая часть в любом языке программирования, Python не является исключением. Благодаря комментариям, вы или другой человек, который будет смотреть ваш код, будет всегда понимать, что происходит в той, или иной части кода.
Комментарии начинаются с символа #, все что написано после данного символа, до конца строки, не учитывается в Python. Запомните, комментарии пишутся программистом, для программистов.
#Это комментарий #Это тоже комментарий print(‘Hello World’)
Многострочные комментарии
Выше, мы рассмотрели способ комментирования построчно, в Python, так же есть многострочный способ комментирования, для этого используются тройные кавычки » » » или ‘ ‘ ‘ пример:
«»» Это многострочный комментарий «»»
Источник: pydocs.ru
Блог
Как создать систему прогнозирования погоды на Python с использованием Tkinter
- Запись опубликована: 3 июля, 2023
- Рубрика записи: Python
- Комментарии к записи: 0 комментариев
«humidity»:61 >, «visibility»:6000, «wind»:< «speed»:3.09, «deg»:250 >, «clouds»:< «all»:40 >, «dt»:1680150474, «sys»:< «type»:1, «id»:9205, «country»:»IN», «sunrise»:1680137244, «sunset»:1680181248 >, «timezone»:19800, «id»:1277333, «name»:»Bengaluru», «cod»:200 >
Из словаря ответов вы можете извлечь различные сведения о погоде, такие как температура, скорость ветра, влажность и осадки. Например, чтобы извлечь температуру в градусах Цельсия, можно использовать следующий код:
import requests api_key = » city_name = » api_endpoint = ‘https://api.openweathermap.org/data/2.5/weather’ query_params = response = requests.get(api_endpoint, params=query_params) if response.status_code == 200: data = response.json() # Handle response data temperature = data[‘main’][‘temp’] print(temperature) else: # Handle errors print(f’Error: — ‘)
Точно так же вы можете извлечь другие сведения о погоде по мере необходимости.
Как создать приложение с графическим интерфейсом с помощью tkinter
В приложении для прогнозирования погоды вы будете использовать Tkinter для создания графического интерфейса, позволяющего пользователю вводить сведения о местоположении и получать информацию о погоде.
В графическом интерфейсе будет поле ввода, в котором пользователи могут ввести либо IP-адрес, либо название города. Он также будет включать кнопку для получения сведений о погоде и еще одну кнопку для получения сведений о погоде, используя текущее направление местоположения.
Этот графический интерфейс будет простым и интуитивно понятным способом взаимодействия пользователей с приложением и получения необходимой информации.
Как создать главное окно и макет
Чтобы создать приложение с графическим интерфейсом с помощью Tkinter, вам сначала нужно создать главное окно и макет. Вы создадите окно шириной 400 пикселей и высотой 200 пикселей с помощью функции модуля Tkinter. Затем вы установите заголовок окна с помощью функции. Tk() title()
Вы также добавите необходимые метки, кнопки и поля ввода в наше окно с помощью , и функций модуля Tkinter. Вы будете использовать функцию для отображения этих виджетов в нашем окне. Label() Button() Entry() pack()
import tkinter as tk root = tk.Tk() root.title(«Weather Forecasting App») root.geometry(«400×200″) input_label = tk.Label(root, text=»Enter city or IP address:») input_label.pack() input_field = tk.Entry(root) input_field.pack() submit_button = tk.Button(root, text=»Get Weather», command=get_weather) submit_button.pack() location_button = tk.Button(root, text=»Use Current Location», command=get_location_weather) location_button.pack() weather_label = tk.Label(root, text=»») weather_label.pack() root.mainloop()
Вы добавили необходимые метки, кнопки и поля ввода в приведенный выше код. И позволяет пользователю ввести город или IP-адрес. Извлекает сведения о погоде, используя введенное значение, и извлекает сведения о погоде для текущего расположения. Отображает полученную информацию о погоде. input_label input_field submit_button location_button weather_label
Как получить и отобразить информацию о погоде
Чтобы получить и отобразить информацию о погоде, вы определите две функции и . get_weather() get_location_weather()
Функция извлекает сведения о погоде на основе пользовательского ввода. Если пользователь вводит IP-адрес, функция сначала извлекает название города с помощью API ipbase.com, а затем использует название города для получения сведений о погоде с помощью API OpenWeatherMap. get_weather()
Если пользователь вводит название города напрямую, функция использует название города для получения сведений о погоде с помощью API OpenWeatherMap. Затем функция обновляет метку погоды, чтобы отобразить температуру в градусах Цельсия для указанного местоположения.
Функция извлекает текущее местоположение с помощью API ipbase.com, а затем использует название города для получения сведений о погоде с помощью API OpenWeatherMap. Функция обновляет метку погоды, чтобы отобразить температуру в градусах Цельсия для текущего местоположения. get_location_weather()
Ниже приведен полный код функций и : get_weather() get_location_weather()
import requests import tkinter as tk import re from decouple import config OPEN_WEATHER_MAP_API_KEY = config(«OPEN_WEATHER_MAP_API_KEY») OPEN_WEATHER_MAP_API_ENDPOINT = ‘https://api.openweathermap.org/data/2.5/weather’ IPBASE_API_KEY = config(«IPBASE_API_KEY») IPBASE_API_ENDPOINT = «https://api.ipbase.com/v2/info» IP_ADDRESS_REGEX = re.compile(r»b(?:d.)db») def get_weather(): input_value = input_field.get() if IP_ADDRESS_REGEX.match(input_value): ipbase_query_params = < «apiKey»: IPBASE_API_KEY, «ip»: input_value >response = requests.get(IPBASE_API_ENDPOINT, params=ipbase_query_params) city_name = response.json()[«data»][«location»][«city»][«name»] weather_query_params = < ‘q’: city_name, ‘appid’: OPEN_WEATHER_MAP_API_KEY, ‘units’: ‘metric’ >response = requests.get( OPEN_WEATHER_MAP_API_ENDPOINT, params=weather_query_params) weather_data = response.json() else: # Try to get weather data directly using city name weather_query_params = < ‘q’: input_value, ‘appid’: OPEN_WEATHER_MAP_API_KEY, ‘units’: ‘metric’ >response = requests.get( OPEN_WEATHER_MAP_API_ENDPOINT, params=weather_query_params) weather_data = response.json() # Display weather data weather_label.config( text=f»: °C») def get_location_weather(): query_params = < «apiKey»: IPBASE_API_KEY >response = requests.get(IPBASE_API_ENDPOINT, params=query_params) city_name = response.json()[«data»][«location»][«city»][«name»] weather_query_params = < ‘q’: city_name, ‘appid’: OPEN_WEATHER_MAP_API_KEY, ‘units’: ‘metric’ >response = requests.get( OPEN_WEATHER_MAP_API_ENDPOINT, params=weather_query_params) weather_data = response.json() # Display weather data weather_label.config( text=f»: °C»)
Вместо того, чтобы жестко кодировать значения ключей API, вы устанавливаете их значения в переменных среды. Создайте файл и добавьте следующий код: .env
export OPEN_WEATHER_MAP_API_KEY=’your-value-here’ export IPBASE_API_KEY=’your-value-here’
Замените их правильными значениями ключей API и выполните следующую команду, чтобы задать переменные среды: your-value-here
source .env
Затем вы используете библиотеку для чтения значений ключей API в коде Python. python-decouple
Кроме того, код импортирует модуль для использования регулярных выражений для сопоставления шаблонов. Он используется для проверки того, ввел ли пользователь IP-адрес. re
Примечание: Убедитесь, что вы добавили две вышеуказанные функции перед кодом Tkinter, иначе вы получите a для имен функций. NameError
Если вы запутались, вы можете увидеть код в этом репозитории.
Заключение
В этом руководстве вы узнали, как создать приложение прогноза погоды с помощью Tkinter. Вы использовали две внешние службы API для получения данных в режиме реального времени.
Есть несколько способов, с помощью которых вы можете расширить и улучшить этот проект. Например, вы можете добавить дополнительные функции в приложение с графическим интерфейсом, такие как возможность получать прогнозы погоды на несколько дней или отображать данные о погоде для нескольких мест одновременно.
Я не могу дождаться, чтобы увидеть, что вы создали! Удачного кодирования!
Вам также может понравиться
Программа Python для отображения календаря
25 мая, 2023
Программа Python для создания длинной многострочной строки
25 мая, 2023
Программа Python для проверки того, является ли строка палиндромом или нет
25 мая, 2023