python执行cmd subprocess持续_使用python执行系统命令——subprocess

背景:subprocess是python官方推荐调用系统命令的模块

import subprocess

subprocess最主要的两个方法/类:

# 参数说明:stdin和stdout相当于一个管道。激活stdout变量后执行结果将被重定向到stdout这个文件中,激活stdin可以从这里输入与子程序(用这个脚本执行系统命令再打开的程序)交互的命令。

注意:要想激活这两个变量必须给他们赋予一个模块指定的变量"subprocess.PIPE"

#     shell:如果此变量被设为True,则会调用系统默认shell(cmd/bash)执行系统命令,如果设为False则用python解释器自己的shell执行命令。

#     timeout:执行命令后的等待时间,超时则停止继续往下执行

#     stderr:保存错误信息

subprocess.run('此处写操作系统的命令', *,stdin=None, input=None, stdout=None, stderr=None, shell=False, timeout=None, check=False, encoding=None, errors=None)

subprocess.Popen('此处写操作系统的命令', *, stdin=None, input=None, stdout=None, stderr=None, shell=False, timeout=None, check=False, encoding=None, errors=None)

一、获取执行操作命令后的结果:

bb = subprocess.run('ipconfig', stdout=subprocess.PIPE)

print(bb.stdout.decode('gbk'))    ======> 执行结果就保存在stdout这个变量中

二、利用python代码打开一个程序,并且和这个程序实现交互:

1、直接输入交互命令方式:

bb = subprocess.Popen('python', stdout=subprocess.PIPE, stdin=subprocess.PIPE)

bb.stdin.write(b'print("123")')

bb.stdin.close()

print(bb.stdout.read())

2、从文件读取交互命令方式

f = open('123')  =====>此文件包含要执行的交互命令

bb = subprocess.run('python', stdout=subprocess.PIPE, stdin=f)

print(bb.stdout)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值