os.startfile hanging onto the launched app, or my IDE?

Tim Golden mail at timgolden.me.uk
Sat Jun 7 16:24:43 EDT 2014


On 06/06/2014 21:34, Josh English wrote:
> I have been using os.startfile(filepath) to launch files I've created
> in Python, mostly Excel spreadsheets, text files, or PDFs.
>
> When I run my script from my IDE, the file opens as I expect. But if
> I go back to my script and re-run it, the external program (either
> Excel, Notepad, or Acrobat Reader) closes all windows and restarts
> the program. This can, unfortunately, close other files I am working
> on and thus I lose all my changes to those files.
>
> This is happening on Windows 7.
>
> I am not sure if it is Python (2.7.5) or my IDE (PyScripter 2.5.3).
>
> It seems like Python or the IDE is keeping track of things created by
> the os.startfile call, but the docs imply this doesn't happen.
>
> Is this a quirk of os.startfile? Is there a cleaner way to get
> Windows to open files without tying back to my program?

I'm not 100% sure what your scenario is, but you can certainly help 
yourself and us by running the same test on the raw interpreter and then 
under PyScripter to determine if the behaviour is to do with IDLE or 
with Python itself.

My half-guess is that PyScripter starts a new process to run your code, 
possibly killing any pre-existing process first. That's if I've 
understood the situation you're describing.

Could you come back with a little more detail? Specifically: whether 
what you're seeing happens only from within PyScripter, or only not from 
within PyScripter, or something else?

TJG



More information about the Python-list mailing list