25_第五章-subprocess调用系统命令
一、理论
1、subprocess模块
- run方法测试
-
测试结果
-
测试源码
# -*- coding:utf-8 -*-
import subprocess
def run_cmd(command):
return_cmd = subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding='GB18030',shell=True,)
#判断实例化属性是否有存在异常returncode
if return_cmd.returncode == 0:
print("success:")
print(return_cmd)
else:
print("error:")
print(return_cmd)
run_cmd(["dir","C:\\"]) #序列参数
run_cmd("exit 1") #字符串参数
二、subprocess调用系统命令的两种方法实操
1、简单法
- 操作实例
- 运行结果
2、函数法
- 操作实例
- 运行结果
3、源代码
import subprocess
#1、简单的写法
#开启一个子进程执行系统命令,args,encoding,shell三个参数
#shell:通过命令行执行
# runcmd = subprocess.run('dir C:\\Users',encoding='utf-8',shell = True)
#
# print(runcmd)
#2、定义一个函数调用系统的所有命令
def run_cmd(command):
#初始化一个子进程执行系统命令
#subprocess.PIPE 接受子进程的返回信息,一定需要解码,指定编码GBK
return_cmd = subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding='GBK',shell=True)
if return_cmd.returncode == 0:
print("success:")
print(return_cmd.stdout)
else:
print("命令执行错误:")
print(return_cmd.stderr)
run_cmd('dir D:\\')
run_cmd('ipconfig')
run_cmd('exit 1')