1

How to run my script with one version of python from script with another version of python? Also, is there a way to catch all outputs of my script and print it?

alby
  • 31
  • 4

1 Answers1

1

So you want to theoretically run say a script with python2 from a script running with python3? (Or something like that, I'm not really sure) If so I would use subprocess. You can find more information on that https://docs.python.org/2/library/subprocess.html and How do I execute a program from python? os.system fails due to spaces in path.

#my python3 script
import subprocess
subprocess.call(["python2", "python2scipt.py"])
Community
  • 1
  • 1
Donkyhotay
  • 73
  • 6
  • 1
    Better use `subprocess.call(["python2", "python2script.py"])` - each part of command line call being one item in the list. – Jan Vlcinsky Jul 21 '14 at 19:27
  • Thanks a lot. It worked for me: `output = subprocess.Popen(p, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE).communicate()[0]` – alby Jul 21 '14 at 19:31
  • Oops, you're right I did forget those are necessary when using subprocesses. Thanks for the catch. I've corrected my example. – Donkyhotay Jul 21 '14 at 19:32