쉬 시뮬레이션 기능 및 구성 프로세스 모듈

쉬 시뮬레이션 기능 및 구성 프로세스 모듈

SSH --- "원격 명령 실행

서브 프로세스 --- "시스템 명령 모듈을 실행

A, 서브 프로세스 모듈

import subprocess
# 执行系统dir命令(查看当前目录下有哪些文件),把执行的正确结果放到管道中
obj = subprocess.Popen('dir',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
# stdout是正确信息,stderr是错误信息
# 拿到结果的管道,读出里面的内容
ss = obj.stdout.read()  # 读正确信息
err = obj.stderr.read()  # 读错误信息
print('错误信息>>>',str(err,encoding='gbk'))  # 打印错误信息,因为windows用的gbk编码,所以用gbk解码
print('正确信息>>>',str(ss,encoding='gbk'))  # 打印正确信息

둘째, 기능 시뮬레이션 ssh 클라이언트 및 서버

2.1 아날로그 기능 SSH 클라이언트

import socket
soc = socket.socket() # 不传参默认是tcp协议
soc.connect(('127.0.0.1',8005))
while True:  # 通信循环
    in_s = input('请输入要执行的命令>>>').strip()
    soc.send(in_s.encode('utf8'))  # 转换成bytes格式发送
    data = soc.recv(1024)  # 接收数据
    print(str(data,encoding='gbk')) # 打印接收的数据

명령을 입력하십시오 것은 실행되는 >>> 디렉토리
볼륨에 드라이브 E 다운로드 및 소프트웨어 설치하는 것입니다
시리얼 번호는 볼륨을 E6E3-32EF

E : \ 오래된 소년 교육 \ 파이썬 프로젝트 \ Pycharm 연습 \ 네트워크 프로그래밍 0906 아날로그 ssh를 \ (원격 명령 실행) 기능과 서브 프로세스 모듈 디렉토리

2019년 9월 10일 21시 4분

.
2019년 9월 10일 21시 4분 ..
2019년 9월 10일 20시 반 363 client_ssh.py
2019년 9월 10일 21시 4분 912 server_ssh.py
2019년 9월 10일 19시 56분 서브 프로세스 666 - 시스템 명령 모듈을 실행 평
. 3 개 파일 1,941 바이트
2 바이트 사용 가능한 디렉토리 101702057984

2.2 아날로그 기능 SSH 서버

import socket
import subprocess
soc = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
soc.bind(('192.168.11.176',8005))
soc.listen(5)
while True:  # 连接循环
    print('等待客户端连接')
    conn,addr = soc.accept()
    print('有个客户端连接上了>>>',addr)
    while True:  # 通信循环
        try:
            data = conn.recv(1024)
            if len(data) == 0:
                break
            print(data)
            # 使用subprocess模块
            obj = subprocess.Popen(str(data,encoding='utf8'),shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
            # 执行正确的结果bytes格式,gbk编码(windows平台)
            msg = obj.stdout.read()
            # 把执行的结果通过网络传给c端
            conn.send(msg)
        except Exception:
            break
    # 关闭通路
    conn.close()

# 关闭连接
soc.close()

클라이언트의 연결 요청은
클라이언트 >>> ( '127.0.0.1', 50889)에 연결 한
b'dir '

추천

출처www.cnblogs.com/zhuangyl23/p/11503359.html