In a bash shell, I can use 'bash ' or 'source ' to invoke a script by hand. Can I do the similar thing in the Python IDLE's interactive shell? I know I can go to File >> Open Module, then run it in a separate window, but that's troublesome.
To run Python scripts with the python command, you need to open a command-line and type in the word python , or python3 if you have both versions, followed by the path to your script, just like this: $ python3 hello.py Hello World! If everything works okay, after you press Enter , you'll see the phrase Hello World!
Interactive Mode: In Interactive Mode, you can run your script line by line in a sequence. To enter in an interactive mode, you will have to open Command Prompt on your windows machine and type ' python ' and press Enter .
One method I have found is execfile
. It has the signature execfile(<filename>,<globals>,<locals>)
and runs the file in the same thread as the current IDLE Session. This method is Python 2 specific
The method the OP is asking for (in a different thread/window) would be to use subprocess
to run in a different thread/window.
import subprocess #any of these will run the file. Pick the one that best suits you. subprocess.call(['python','filename.py']) subprocess.check_call(['python','filename.py']) subprocess.Popen(['python','filename.py'])
These essentially do what nneonneo's answer does, but using subprocess
to execute it in a different thread.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With