python 命令行调用工具

1、os.system

fork一个子进程  -->

子进程中调用exec函数执行 -->  

父进程阻塞至子进程结束, 返回16进制结果(0,256,512)结果,十进制(0,1,2对应linux结果)status

2、os.spawn*(spawnl, spawnlp, spawnlpe, spawnv,  spawnvp, spawnvpe)

用于执行可执行文件, 包括C编译后的可执行文件、python\或者shell脚本类。

返回进程编号类似

3、os.Popen

创建一个管道, fork子进程   -->   子进程执行命令,返回标准IO流,

可以向管道中读(执行结果)写(执行命令)数据。

如:os.popen("*****").read()

4、subprocess.call类似os.system

5、subprocess.Popen

接受字符串和列表命令行, 可以重定向输出至PIPE或者文件中

subprocess.Popen(cmd, shell=True, stdout=fhandle).stdout

subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE).stdout

如果不获返回值,可以不用wait(),直接避开阻塞

6、subprocess.getstatusoutput()

可以方便得到返回状态和输出,有点类似os.system和 os.Popen的合并返回结果

status, output = commands.getstatusoutput('sh hello.sh') print status, output

7、commands.getstatusoutput()

不阻塞,不和主进程通信, 无法知道是否执行完毕commands.getoutput()和getstatus()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值