系统调用 - Python调用系统命令时,如何不在控制台打印该命令执行中输出的其他信息?

查看:1063
本文介绍了系统调用 - Python调用系统命令时,如何不在控制台打印该命令执行中输出的其他信息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我目前用法是subprocess.call(sh, shell=True),用于调用某个程序,然后控制台就顺带把这程序运行过程中的各种输出都打印了出来:

/usr/local/anaconda2/bin/python /home/victi/VIC_Hime/test.py
Mon, 17 Oct 2016 21:04:02 INFO Calibrating start.
Mon, 17 Oct 2016 21:04:02 INFO Turns 1
Mon, 17 Oct 2016 21:04:02 INFO Calibrate infilt
Exec shell: /home/victi/VIC/vic/build/vic_image -g /home/victi/TRMM_VIC/SC/global.txt
global_param:
    wind_h              : 10.0000
    resolution          : 0.0000
    dt                  : 86400.0000
    snow_dt             : 86400.0000
    runoff_dt           : 86400.0000
    model_steps_per_day : 1
    snow_steps_per_day  : 1
    runoff_steps_per_day: 1
    endday              : 31
    endmonth            : 12
    endyear             : 2002
    ...

从global_param"开始往后都是。
有何方法可让这些信息不显示?

解决方案

>>> p = subprocess.Popen('pwd', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> sout = p.stdout.readlines()
>>> sout
['/root\n']

这篇关于系统调用 - Python调用系统命令时,如何不在控制台打印该命令执行中输出的其他信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆