Sorry for not being explicit enough. I am aware that this would work if I called python.exe path-to-script.py with shell=False.
In my Python program, I parse an XML file like the one I have included below. Then I loop through the paths of the apps listed in it and run them by calling something like this: for app_path in app_paths: args = shlex.split(app_path.replace("\\", "\\\\")) args = [arg.replace("\\\\", "\\") for arg in args] args[0] = os.path.expandvars(args[0]) subprocess.Popen(args, shell='__WXMSW__' in wx.PlatformInfo) I want users to be able to enter paths in the XML file exactly the way they would be entered in a Windows shortcut. Since it is possible to make a Windows shortcut for path-to-script.py without the python.exe in front of it and have it open in its own command prompt, I want to be able to do the same thing in my XML file, but this is what I cannot figure out. By the way, is there a simpler way to use shlex.split and return valid Windows paths than the way I am doing (as shown above)? Thank you. -- Timothy *** Contents of app_list.xml below *** <?xml version='1.0' encoding='utf-8'?> <apps> <app name="Mozilla Firefox">%ProgramFiles%\Mozilla Firefox\firefox.exe</app> <app name="Mozilla Thunderbird">%ProgramFiles%\Mozilla Thunderbird\thunderbird.exe</app> <app name="LibreOffice Writer">%ProgramFiles%\LibreOffice 4\program\swriter.exe "C:\Users\Timothy\Documents\myfile.odt"</app> <app name="**Python script**">C:\Users\Timothy\Documents\Python\myscript.py</app> </apps> -- https://mail.python.org/mailman/listinfo/python-list