Как управлять ПК из любого места с помощью Python?
Предварительное условие - Программирование сокетов на Python
В этом решении мы используем концепцию программирования сокетов для установления связи между двумя компьютерами.
Программирование сокетов в Python
Программирование сокетов - это способ соединения двух систем в сети для связи друг с другом. Сокеты - это конечные точки, созданные для отправки и получения данных, и представляют собой комбинацию IP-адреса и порта. Мы импортируем модуль сокета, чтобы использовать программирование сокетов в Python. Ниже приведены методы, необходимые для построения решения:
Методы в модуле сокета: Метод Описание socket.socket (). Создайте сокеты. socket.bind () Этот метод связывает имя хоста и имя порта с сокетом. socket.listen () Этот метод запускает прослушиватель TCP. socket.accept () Примите клиентское соединение и дождитесь его прибытия. socket.connect () Инициируйте TCP-соединение. socket.close () Закройте розетку.
Другие методы сокета:
Метод | Описание |
s.recv () | Он получает сообщение TCP |
s.send () | Он отправляет TCP-сообщение |
socket.gethostname () | Возвращает имя хоста |
Итак, нам нужно разработать две программы на Python: одна - master.py (сервер), а другая - slave.py (клиент), используя master.py, мы можем управлять системой с помощью программы slave.py. Чтобы управлять компьютером из любого места с помощью Python, выполните шаг, указанный ниже:
Step 1: Create and Execute the “master.py” in one terminal
Python3
import time import socket import sys import os # Initialize s to socket s = socket.socket() # Initialize the host host = socket.gethostname() # Initialize the port port = 8080 # Bind the socket with port and host s.bind(("", port)) print ( "waiting for connections..." ) # listening for conections s.listen() # accepting the incoming connections conn, addr = s.accept() print (addr, "is connected to server" ) # take command as input command = input ( str ( "Enter Command :" )) conn.send(command.encode()) print ( "Command has been sent successfully." ) # receive the confrmation data = conn.recv( 1024 ) if data: print ( "command received and executed sucessfully." ) |
Step 2: Create and Execute the “slave.py” is another terminal
Python3
import time import socket import sys import os # Initialize s to socket s = socket.socket() # Initialize the host host = "127.0.0.1" # Initialize the port port = 8080 # bind the socket with port and host s.connect((host, port)) print ( "Connected to Server." ) # receive the command from master program command = s.recv( 1024 ) command = command.decode() # match the command and execute it on slave system if command = = "open" : print ( "Command is :" , command) s.send( "Command received" .encode()) # you can give batch file as input here os.system( "ls" ) |
Выход:
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.