要python调用系统命,看看这几招

python的强大毋庸置疑。当你发现你能偶尔偷懒,省下一部分熟悉shell 语法的时间,只通过python 调用 shell 命令就能实现功能,一定也会对这种方式乐此不疲。在此,对这些用了就会觉得好的方法做个总结。

 

最常见的os库中,就有两种可用的工具包:

 

  • os.system():command参数可以是linux 下的shell 命令,也可以是windows下的cmd 命令

 

os.system("adb devices")

执行结果:

List of devices attached
c6e1fc57    unauthorized
127.0.0.1:62001    device
127.0.0.1:62026    device
127.0.0.1:62025    device

特性:

  • 该命令不能获取执行后的输出信息,适合用于仅实现执行操作的命令,比如:复制、移动。

 

  • os.popen():command参数可以是linux 下的shell 命令,也可以是windows下的cmd 命令

cmd = os.popen("adb devices")
print cmd

<open file 'adb devices', mode 'r' at 0x0000000003BD0150>

执行这个命令后,它没有像os.system那样立即输出结果,通过打印获取到的实例看出,它是打开一个文件

那么,可以读取出来呢?

print cmd.read()

执行结果:

List of devices attached

c6e1fc57    unauthorized
127.0.0.1:62001    device
127.0.0.1:62026    device
127.0.0.1:62025    device

读取出的效果是和os.system()一致的。

 

subprocess.call()

subprocess.call("adb devices",shell=True)
subprocess.call(["adb","devices"],shell=True)

以上两种书写方式都可以和os.popen()的方法有同等效用

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值