一.subprocess模块

在学习这个模块前,我们先用Python的help()函数查看一下subprocess模块是干嘛的:

黏包黏包

即允许你去创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入、标准输出、标准错误以及返回码等。

黏包
黏包
黏包
黏包

 subprocess模块中定义了一个Popen类,通过它可以来创建进程,并与其进行复杂的交互。

应用:

1 import subprocess
2 
3 res=subprocess.Popen("ipconfig",
4                      shell=True,
5                      stderr=subprocess.PIPE,
6                      stdout=subprocess.PIPE)
7 
8 print(res.stdout.read().decode("gbk"))

 简单应用

 1 import socket
 2 import subprocess
 3 
 4 sever=socket.socket()
 5 
 6 sever.bind(('192.168.13.137',8016))
 7 
 8 sever.listen(10)
 9 
10 while True:
11     print('服务器准备好了')
12     conn,addr=sever.accept()
13 
14     while True:
15         try:
16             cmd=conn.recv(1024).decode('utf-8')
17             if cmd=='exit':
18                 break
19             res=subprocess.Popen(cmd,
20                              shell=True,
21                              stderr=subprocess.PIPE,
22                              stdout=subprocess.PIPE,
23                              )
24             out=res.stdout.read()
25             err = res.stderr.read()
26             if out:
27                 conn.send(out)
28 
29             else:
30                 conn.send(err)
31 
32         except Exception as e:
33             break
34     conn.close()
服务端

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-20
  • 2021-07-11
  • 2022-01-02
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-26
  • 2022-02-28
  • 2022-01-03
  • 2021-11-08
  • 2021-12-02
相关资源
相似解决方案