Попробуйте:
#!/usr/bin/env python
import sys
import subprocess, shlex
print sys.argv[0] # prints sec_script.py
print sys.argv[1] # prints var1
print "second one"
x=5
myVars = {'x':x}
print subprocess.check_output(shlex.split('first_py {0}'.format(myVars['x'])))
Есть много способов сделать то, что вы пытаетесь сделать, - мы должны обратить особое внимание на то, чтобы поместить оператор print в функцию (скажем, print_value()
) в first_py
, , импортируя first_py
, а затем с помощью first_py.print_value(myVars['x'])
. Однако я думаю, что решение для подпроцесса является наиболее близким к тому, которое вы уже разработали.
PS - я бы сохранял свои сценарии как, например, first.py
, а не first_py
.