How to run another python program without holding up original?
Use subprocess
:
import subprocess
#code
prog = subprocess.Popen(['python', filename, args])
#more code
If the other Python program is importable, and the functionality you need can be called via a function, then it is preferable to use multiprocessing instead of subprocess
, since the arguments can be passed as Python objects, instead of via strings:
import somescript
import multiprocessing as mp
proc = mp.Process(target=somescript.main, args=...)
proc.start()