简体   繁体   中英

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.

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 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.

您可以从命令行运行 Python 脚本:

python <script.py>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM