Este é o código do Python 2.7 e os dois programas python no mesmo diretório.
call_script.py
import os
from subprocess import call
if "OTHER_PROGRAM" in os.environ.keys():
program_name = os.environ["OTHER_PROGRAM"]
print "will execute", program_name
call([program_name ,"some_file.pro"])
else:
print "OTHER_PROGRAM env variable not defined"
other.py (deve ser marcado como executável - por exemplo: chmod + x outro.py)
#!/usr/bin/python
import sys
print "executing in other.py"
if len(sys.argv) > 1:
print "was passed value of ", sys.argv[1]
else:
print "no arguments were passed"
saídas:
executing in other.py
was passed value of some_file.pro