Search code examples
pythonspawn

Opening an external program


I'm the Python beginner and I have a task to do. I have to write a function, that opens a program (.bin), execute it so I can see the results. This program requires 2 arguments from command line. I used os.spawnv, but it doesn't work...

#!/usr/bin/python

import sys
import os

def calculate_chi():
    if len(sys.argv)>1:
        pdb_name=sys.argv[1]
        dat_name=sys.argv[2]
    crysol='/usr/bin/crysol'
    os.spawnv(os.P_NOWAIT,crysol,[crysol,pdb_name,dat_name])

def main():
    calculate_chi()

Can you help me?


Solution

  • Use subprocess. It was intended to replace spawn.

    import subprocess
    
    subprocess.call([crysol, pdb_name, dat_name])