Python子进程模块,子进程调用shell脚本,控制台无法实时打印

时间:2018-03-16 06:14:49

标签: python shell printing subprocess

  1. test.py代码:

    sub=subprocess.Popen(["sh", "test.sh"])
    sub.wait()
    
  2. 在test.sh中使用bash,然后调用多个python脚本文件 但是,在子进程启动后,控制台将不会显示任何内容,直到子进程结束。但是,当set -x被添加到test.sh时,子进程的所有输出都将立即打印到控制台。我仍然使用以下代码,效果相同:

    sub= subprocess.Popen(["sh", "test.sh"], shell=False,
                          stdout=subprocess.PIPE ,stderr=subprocess.PIPE)
    while sub.poll() == None or sub.poll() != 0:
        print sub.stdout.readline()
        sub.stdout.flush()
        sys.stdout.flush()
    

0 个答案:

没有答案