Как управлять программой через python

Python — это мощный язык программирования, который предоставляет разработчикам множество инструментов для работы с файловой системой. Один из самых важных модулей, предоставляемых Python, для работы с файлами и каталогами — это модуль OS.

Что такое модуль OS?

Модуль OS является стандартным модулем в Python, который предоставляет функциональность для работы с операционной системой и файловой системой. Он позволяет выполнять различные операции, такие как создание, удаление и переименование файлов и каталогов, получение информации о файлах и каталогах, а также управление путями к файлам и каталогам.

Основные функции модуля OS

  • os.getcwd — возвращает текущий рабочий каталог
  • os.chdir(path) — изменяет текущий рабочий каталог на указанный
  • os.listdir(path) — возвращает список файлов и подкаталогов в указанном каталоге
  • os.mkdir(path) — создает новый каталог по указанному пути
  • os.rmdir(path) — удаляет указанный каталог
  • os.rename(src, dst) — переименовывает файл или каталог из src в dst
  • os.path.join(path1, path2, …) — объединяет пути каталогов
  • os.path.exists(path) — возвращает True, если путь существует, и False, если нет

Примеры использования модуля OS

Давайте рассмотрим несколько примеров использования модуля OS для работы с файловой системой в Python:

Модуль для управления OS в Python | Базовый курс. Программирование на Python


import os # получение текущего рабочего каталога current_dir = os.getcwd() print(«Текущий рабочий каталог:», current_dir) # создание нового каталога new_dir = os.path.join(current_dir, «new_directory») os.mkdir(new_dir) print(«Новый каталог создан») # переименование файла file_path = os.path.join(current_dir, «file.txt») new_file_path = os.path.join(current_dir, «new_file.txt») os.rename(file_path, new_file_path) print(«Файл переименован») # удаление каталога os.rmdir(new_dir) print(«Каталог удален») В этом коде добавлены вызовы функций os.getcwd(), os.mkdir(), os.rename(), os.rmdir() и добавлены знаки равенства (=) при присваивании значений переменным. Теперь код будет работать корректно, получать текущий рабочий каталог, создавать новый каталог, переименовывать файл и удалять каталог.

Это только несколько базовых примеров использования модуля OS в Python для работы с файловой системой. Модуль OS предлагает множество других функций, которые могут быть использованы для выполнения различных операций на файловой системе. Этот модуль является незаменимым инструментом для разработчиков Python, которые работают с файлами и каталогами.

Вывод

Модуль OS является важной частью стандартной библиотеки Python и предоставляет удобный и мощный интерфейс для работы с операционной системой и файловой системой. Он позволяет разработчикам выполнять различные операции на файловой системе, такие как создание, удаление и переименование файлов и каталогов, получение информации о файлах и каталогах, и многое другое.

Удаленный рабочий стол средствами Python

Использование модуля OS упрощает работу с файловой системой и повышает производительность разработки во время работы с файлами и каталогами в Python.

Источник: evgenev.ru

Удаленное управление python

Как можно подключить два python скрипта через интернет (сервер и клиент), где один скрипт будет отправлять команды, а другой — выполнять. Есть какие нибудь статьи на эту тему?

Отслеживать
задан 24 дек 2020 в 8:36
345 1 1 золотой знак 2 2 серебряных знака 10 10 бронзовых знаков

Читайте также:
Как найти программы которые используют интернет

Простейшее (можно сказать, типовое) решение — HTTP/REST сервер + клиент. Например, сервер на Flask, клиент через requests отправляет ему запросы.

24 дек 2020 в 8:45
Если задуряться, то сокеты:) habr.com/ru/post/149077 и docs.python.org/3/library/socket.html
24 дек 2020 в 8:56

Есть готовые файлы-примеры с сокетами. В локалке работаю 100%, а вот через инет не было возможности проверить. Если нужны — отпишись 😉

24 дек 2020 в 9:14

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Pure TCP socket.

import socket HOST = ‘127.0.0.1’ # Standard loopback interface address (localhost) PORT = 65432 # Port to listen on (non-privileged ports are > 1023) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() conn, addr = s.accept() with conn: print(‘Connected by’, addr) while True: data = conn.recv(1024) if not data: break if data == b’say hello’: print(«hello»)
import socket HOST = ‘127.0.0.1’ # The server’s hostname or IP address PORT = 65432 # The port used by the server with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) s.sendall(b’say hello’)

Отслеживать
ответ дан 24 дек 2020 в 10:43
USERNAME GOES HERE USERNAME GOES HERE
10.3k 21 21 золотой знак 25 25 серебряных знаков 53 53 бронзовых знака
что надо сделать чтобы любой смог подключиться? А не только по localhost
24 дек 2020 в 12:14

24 дек 2020 в 12:16
для этого надо порт открыть? как это делается? (копался в интернете, но не нашел)
24 дек 2020 в 12:48
24 дек 2020 в 13:03
25 дек 2020 в 13:02

Думаю, тебе рано или поздно пригодится)

# WS Сервер (базовый пример) import asyncio # Библиотека стандартной архитектуры асинхронного ввода — вывода в Python import websockets async def hello(websocket, path): # На стороне сервера websocket выполняет # сопрограмму обработчика hello один раз для каждого соединения name = await websocket.recv() print(f»< «) greeting = f»Привет !» await websocket.send(greeting) print(f»> «) # f — Форматирование строкового литерала start_server = websockets.serve(hello, «localhost», 8765) asyncio.get_event_loop().run_until_complete(start_server) asyncio.get_event_loop().run_forever() # Закрывает соединение после возврата # async/await -(специальный синтаксис для работы с промисами) # Промис- это объект, # представляющий возможное завершение передачи или сбой асинхронной операции # В Python async гарантирует, что функция вернет промис и обернет в него не промисы.
# WS Клиент (базовый пример) import asyncio import websockets async def hello():# На стороне клиента websocket выполняет # сопрограмму обработчика hello один раз для каждого соединения uri = «ws://localhost:8765» # URL ресурсавеб-сокета использует собственную схему начиная с # ws или wss для безопасного подключения async with websockets.connect(uri) as websocket: name = input(«Введите имя : «) await websocket.send(name) print(f»> «) # f — Форматирование строкового литерала greeting = await websocket.recv() print(f»< «) asyncio.get_event_loop().run_until_complete(hello())

Источник: ru.stackoverflow.com

Telegram бот на Python. Практические примеры

Представляю Вашему вниманию практические примеры по теме, как создать Telegram бот на Python3 с использованием библиотеки pyTelegramBotAPI. Тут я не вижу смысла рассказывать о том, как использовать Bot Father, так как, скорее всего это знают все, либо инфы в инете полно. Минимум что будет из банальных примеров — это обработка таких команд, как «/start» и «/help» либо любой бот начинается именно с этого + это будет полезно, для тех кто только начинает свой путь в создании ботов Telegram.

План действий в рамках этой статьи такой. Но она будет дополнятся, так как данную статью я буду использовать для себя в качестве справки… По этому можете добавить страницу в закладки.

  1. Подготовка — Создаём config.py и используем Proxy.
  2. Обработка команд «/start» и «/help».
  3. Обработка простых сообщений. Отправка и получение.
  4. Как скачать и отправить стикер пользователю из бота.
  5. Как отправить и получить документ, аудио, видео и.т.д
  6. Разбираемся с Emoji, как получить код смайла для отправки в сообщении.
  7. Получаем информацию о пользователе, который запустил бота.
Читайте также:
Команда прекращения работы программы имеет вид

Подготовка — Создаём config.py и используем Proxy.

Файл config.py понадобится нам для хранения Токена бота и proxy (Если используете). Сложного тут нет ничего, обычный файл с двумя переменными, которые мы будет использовать в основном файле проекта.

token = ‘Token’
proxy = ‘socks5://Proxy_User:[email protected]_IP:Proxy_Port’

Так просто выглядит файл config.py который нужно импортировать в основном файле проекта, созданием которого мы сейчас займемся. Я его так и назову «telegram_bot.py»

import telebot
from telebot import apihelper # Нужно для работы Proxy
import config # Импорт config.py
import urllib . request # request нужен для загрузки файлов от пользователя
bot = telebot . TeleBot ( config . token ) # Передаём токен из файла config.py
apihelper . proxy = < ‘http’ : config . proxy ># Передаём Proxy из файла config.py
bot . polling ( ) # запускаем бота

Практически Telegram бот на Python уже готов к работе и его можно запустить, если нет ошибок то бот работает. Но есть одна проблема. Бот работает через прокси, а библиотека request, которая нам нужна для загрузки файлов от пользователя, в данном случаи не использует прокси, по этому скачивать файлы не получиться… Это дело можно исправить, но лучше использовать VPN а от proxy отказаться.

В дальнейшем будем считать, что у нас настроен VPN ну или бот пишется непосредственно на сервере))) Теперь когда с подключением разобрались, пришло время научить бота совершать какие либо действия.

Обработка команд «/start» и «/help».

Библиотека «pyTelegramBotAPI» использует декораторы, это очень удобно и практично. Посмотрим как это работает на примере обработки команд «/start» и «/help».

def welcome ( message ) :
pass # Тут можно обработать одну из команд start или help

Если пользователь Вашего бота отправить одну из команд start или help то сработает функция «welcome()» (Название функции может быть произвольным) главное что бы она принимала обязательный параметр «message» в котором содержится много полезной информации.

А вот пример как работают декораторы. Мы можем обработать команды в разных функциях.

# Тут работаем с командой start
def welcome_start ( message ) :
bot . send_message ( message . chat . id , ‘Приветствую тебя user’ )
# Тут работаем с командой help
def welcome_help ( message ) :
bot . send_message ( message . chat . id , ‘Чем я могу тебе помочь’ )

Все получается аккуратно и логично, запутаться что и где уже стало сложнее, а значит разработка бота сводится не к рутине а к удовольствию =)

Обработка простых сообщений. Отправка и получение.

До этого момента мы работали только с командами, теперь нам предстоит работа с различным типом сообщений от пользователя. Сложного в этом ничего нет, все так же просто, как и с командами. Просто нам нужно указать тип ожидаемого сообщения от пользователя.

Типов сообщений в pyTelegramBotAPI достаточно. Некоторые из них для примера «text, audio, document» и.т.д. Рассмотрим пример

def content_text ( message ) :
print ( ‘Боту отправили обычный текст’ )
def content_document ( message ) :
print ( ‘Боту отправили документ’ )

Как получить простое сообщение от пользователя.

Ранее я уже сказал что в «message» много интересного. Там же и находится сообщение которое напечатал пользователь боту. Прочитать его можно так.

Читайте также:
Как провести калибровку аккумуляторной батареи ноутбука без специальных программ

def text ( message ) :
print ( message . text )

В консоль будет выведено сообщение от пользователя.

Как отправить простое сообщение пользователю.

Теперь разберёмся с тем, как отправить сообщение пользователю. Даже не смотря на то, что выше Вы уже видели, как это делается.

def text ( message ) :
if message . text == ‘hello’ :
bot . send_message ( message . chat . id , ‘И тебе hello’ )

Вызываем метод «send_message» и передаём ему собственно ID и текст сообщение. В данном примере происходит следующие: Если пользователь напишет «hello» то бот ему ответит «И тебе hello»

Как скачать и отправить стикер пользователю из Telegram бота

Как отправить Стикер

def text ( message ) :
if message . text == ‘sticker’ :
bot . send_sticker ( message . chat . id , ‘CAADAgADsQADWQMDAAEJK1niI56hlhYE’ )

Если пользователь боту пришлёт слово «sticker» то в ответ мы отправим ему свой стикер. За место send_message вызывается метод send_sticker также передаётся id и за место текста отправляется ID стикера. Все просто — стикер отправлен))

Как получить Стикер (Скачать на локальную машину)

Давайте скачаем на локальную машину файл стикера, который прислал пользователь боту.

def handle_docs_audio ( message ) :
# Получим ID Стикера
sticker_id = message . sticker . file _ id
# Нужно получить путь, где лежит файл стикера на Сервере Телеграмма
file_info = bot . get_file ( sticker_id )
# Теперь формируем ссылку и скачивам файл
urllib . request . urlretrieve ( f ‘http://api.telegram.org/file/bot/’ , file_info . file_path )

Собственно опять «message»! Пользователь отправляет нам стикер. Находим ID Стикера и отдаём его методу «get_file» что бы получить путь до файла на сервере телеграмма. А дальше скачаем файл в папку «stickers» которую нужно создать в том каталоге, где находится весь проект бота.

Как отправить и получить документ, аудио, видео, фото и.т.д

Продолжаем пилить telegram бот на python3 и на простом примере разберёмся, как отправлять файлы пользователям telegram бота.

Как отправить файл пользователю бота

Отправляем пользователю фотографию

def text ( message ) :
if message . text == ‘photo’ :
file = open ( ‘photo.png’ , ‘rb’ )
bot . send_photo ( message . chat . id , file )

За это отвечает метод «send_photo» Аналогично поступим и с другими типами файлов. Например нам нужно отправить документ «file.txt»

Отправляем пользователю документ

def text ( message ) :
if message . text == ‘document’ :
file = open ( ‘file.txt’ , ‘rb’ )
bot . send_document ( message . chat . id , file )

Тут мы уже используем метод «send_document» аналогично поступаем с другими типами файлов аудио, видео и прочие.

Как получить файл от пользователя

Все также как и со стикерами. В этом примере получим документ от пользователя и скачаем его себе на локалку.

def handle_docs_audio ( message ) :
file_info = bot . get_file ( document_id )
urllib . request . urlretrieve ( f ‘http://api.telegram.org/file/bot/’ , file_info . file_path )

Получим от пользователя музыку

def handle_docs_document ( message ) :
audio_id = message . audio . file_id
file_info = bot . get_file ( audio_id )
urllib . request . urlretrieve ( f ‘http://api.telegram.org/file/bot/’ , file_info . file_path )

Точно таким-же способом можно получить любой тип файла от пользователей и создать Telegram бот на Python для конвертации файлов или у кого на что фантазии хватает))

Время чтение: 6 минут 2020-08-31

  • PySpeedTest Как узнать Скорость соединения в Python
  • Nuitka — Библиотека для трансляции кода на python в С и компиляции в exe
  • Pafy — Библиотека для скачивания видео с YouTube
  • Instabot — модуль для Python, который реализует обертку над API Instagram
  • Python-Cptchnet — Модуль для работы с API сервиса Cptch.net
  • pyTelegramBotAPI Библиотека для создание Ботов Telegram

Помощь проекту

Если есть возможность — поддержать нас: будем очень признательны. Денежные средства пойдут на дальнейшее развитие проекта!

Источник: snippcode.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru