HaiXin Tie
HaiXin Tie

Reputation: 2079

How to run a Python script from IDLE command line?

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.

Upvotes: 5

Views: 18779

Answers (3)

Hzz
Hzz

Reputation: 1928

If what you meant is executing in the Python IDLE's interactive shell instead of command prompt or command line, then I usually use this approach:

python -m idlelib.idle -r "C:/dir1/dir2/Your script.py"

It works well with me. Tested on my Windows 10, python 3.7.3.

Please ensure that you have added your desired python version on your environment variables.

Upvotes: 1

AI Generated Response
AI Generated Response

Reputation: 8837

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.

Upvotes: 4

nneonneo
nneonneo

Reputation: 179392

You can just run a Python script from the commandline:

python <script.py>

Upvotes: 0

Related Questions