Как управлять ПК из любого места с помощью Python?

Опубликовано: 12 Апреля, 2022

Предварительное условие - Программирование сокетов на 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")

Выход:

терминал, на котором запущен master.py

терминал, на котором запущен slave.py

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.