3

I'm creating a script in python that will open a program then python will wait for that program to close itself before continuing to the next code. Here is my script:

Import subprocess as sp
sp.Popen([r'C:/Folder/folder/a.exe'])
??????
????????
print("test")

The question marks are the things that I don't know.

Terrance
  • 39,774
  • 7
  • 116
  • 176

2 Answers2

5

Try subprocess.call instead of Popen. It waits for the command to complete.

import subprocess
subprocess.call('a.exe')
print("test")

For reference.

Legate77
  • 66
  • 1
  • 4
5

@Legate77's answer is correct, but for versions > 3.5, subprocess.run is preferred:

import subprocess
subprocess.run(['./a.out', 'arg1', 'arg2'])
print('done')

Documentation is on the same page

Isaac Khor
  • 51
  • 1