我眼中的subprocess

本文介绍了Python的subprocess模块,用于执行操作系统命令并控制其执行。文章从os模块的不足出发,展示了subprocess如何方便地执行命令并获取返回结果。通过实例,解释了如何使用管道进行进程间通信,并探讨了进程交互,包括单向和双向交流的可能性。总结部分鼓励读者根据实际需求进一步探索官方文档。

最近打算写个”远程控制“小工具,”胖客户端“这边功能已经开发完毕了。试想一下这样的场景,你的笔记本电脑在图书馆正常的放着,然后你去了教学区上课去了。然后你想看一下自己电脑前有没有人,然后就可以通过手机发送一条命令,让笔记本电脑拍照,并发送给手机。或者你的同学在你的电脑边,然后你远程用手机发一条指令,让电脑发出鬼叫或者播放音乐什么的··· ···

但是遗憾的是这个”远程操作“功能成为了瓶颈,其实就是怎么让当前进程去执行额外命令。 还好遇到了subprocess。然后就可以很方便的”为所欲为“啦。


os模块

也许在subprocess之前,你可能听说过os模块。如:

import os
cmdstr = "some cmd command"
os.system(cmdstr)

这种方式可以很轻松的执行Windows上的命令,但是缺点是:
不受控,没有返回结果。对于简单的需求而言还行,但是对于需要获取返回结果的就不太适用了。

入门

相比较subprocess, 执行一条命令就方便多了。比如实现与os模块相同功能的话,可以使用如下代码:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泰 戈 尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值