1. 程式人生 > >還在找遠控?來看我用十幾行python代碼寫個簡易遠程控制

還在找遠控?來看我用十幾行python代碼寫個簡易遠程控制

Python 爬蟲 web開發 編程 數據

剛開始學習編程的同學可能經常會問:“我學了這個幹什麽用?買菜的時候掏出電腦來編個程序算算多少錢?”

其實,這跟大家的知識面和入門選擇的語言有很大關系,大部分同學會選擇C語言來入門編程,C語言雖然簡潔,但是面向過程的編程方式總會讓人覺得枯燥無味,無所適從。

那咱們現在做個有意思的,做個超級簡易的遠程控制軟件,好吧~其實頂多算個腳本。

技術分享圖片

既然是遠控,那就需要確定兩個功能:

1、遠程

即通過網絡訪問外部主機(包括內網),我們可以利用Python中封裝好的 socket庫,可以實現遠程傳輸文本、文件、視頻等。

Python socket詳情介紹

2、控制

控制,最簡單的理解就是執行命令,那麽我們可以采用Python中的 os庫,即可執行Linux shell 命令。

Python os詳情介紹

下面就是代碼,保存成.py文件,然後先執行server.py 再執行 client.py。

服務端,保存成 server.py

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import socket

import os

line=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

line.bind((‘服務器IP‘,監聽端口))

line.listen(5)

print(‘waiting commd------->‘)

while True:

conn,addr=line.accept()

msg=conn.recv(1024)

if msg == ‘q‘:

break

print(‘get commd:‘,msg)

result=os.popen(msg).read()

conn.send(‘result: ‘+result)

conn.close()

phone.close()

客戶端 保存成client.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import socket

while True:

line=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

line.connect((‘服務器IP‘,監聽端口))

msg = str(raw_input(‘please input commd:‘))

line.send(str(msg).encode(‘utf-8‘))

data=phone.recv(1024)

print data

line.close()

執行結果如下:

技術分享圖片
服務端執行結果

技術分享圖片

客戶端在服務端執行 ls 命令後返回的結果

另外,小編有自己的學習交流群(主要是Python)大家如果想要來學習的話,可以加下:719+139+688,不管你是小白還是大牛,小編都歡迎,而且小編會在群裏面不定期分享幹貨,包括小編自己整理的一份2018年最新學習資料和零基礎入門教程,歡迎初學和進階中的小夥伴

技術分享圖片

服務端命令日誌

還在找遠控?來看我用十幾行python代碼寫個簡易遠程控制