Well I searched a lot and found different ways to open program in python,

For example:- 

```
import os
os.startfile(path) # I have to give a whole path that is not possible to give a full path for every program/software in my case.

```

The second one that I'm currently using 

```
import os
os.system(fileName+'.exe')

```

In second example problem is:-

1. If I want to open calculator so its `.exe` file name is `calc.exe` and this happen for any other programs too (And i dont know about all the .exe file names of every program).
2. And assume If I wrote every program name hard coded so, what if user installed any new program. (my program wont able to open that program?)

If there is no other way to open programs in python so Is that possible to get the list of all install program in user's computer.
and there .exe file names (like:- calculator is `calc.exe` you got the point).

If you want to take a look at [code](https://github.com/rajnishcoder/PCAssistance/blob/master/OpenProgram.py)

Note: I want generic solution.