$Python Subprocess 调用子程序$

使用场景:当你在某些情况下,需要在特定的路径下运行某些脚本,但是又需要在另一个路径下调用的时候,就需要使用Subprocess库去调用对应目录下的脚本,使其在对应的根目录下运行。

在我的开发过程中,我需要在 D:\Coding\Python\Blog\PF_AFN下运行 test.py脚本,但是我需要在 D:\Coding\Python\Blog\manager.py脚本中调用 test.py脚本,这个时候就需要使用Subprocess库去调用。

使用如下命令:

1
2
import subprocess
rc = subprocess.call(['python','test.py'], cwd = 'PF_AFN')

其中 'python', 'test.py'是命令行中的指令, cwd是需要该指令运行的对应根目录。

call函数返回0时表明运行成功,其余表示运行失败。

call函数是使主进程等待子进程完成之后再继续运行,所以当你需要使用脚本生成的某些事物的时候,就需要使用 call函数,其余情况下可以使用 popen函数并行执行。