如何从IDLE交互式

如何从IDLE交互式

如何从IDLE交互式 shell 程序中运行python脚本?

以下引发错误:

>>> python helloworld.py
SyntaxError: invalid syntax

最佳答案

Python3 :

exec(open('helloworld.py').read())

如果您的文件不在同一目录中:
exec(open('./app/filename.py').read())

有关传递全局/局部变量的信息,请参见https://stackoverflow.com/a/437857/739577

在不推荐使用的Python版本中

Python2
内置功能: execfile
execfile('helloworld.py')

通常不能用参数调用它。但是,有一个解决方法:
import sys
sys.argv = ['helloworld.py', 'arg']  # argv[0] should still be the script name
execfile('helloworld.py')

自2.6起不推荐使用: popen
import os
os.popen('python helloworld.py') # Just run the program
os.popen('python helloworld.py').read() # Also gets you the stdout

带参数:
os.popen('python helloworld.py arg').read()

预先使用: subprocess
import subprocess
subprocess.call(['python', 'helloworld.py']) # Just run the program
subprocess.check_output(['python', 'helloworld.py']) # Also gets you the stdout

带参数:
subprocess.call(['python', 'helloworld.py', 'arg'])

阅读文档以获取详细信息:-)

使用以下基本helloworld.py测试:
import sys
if len(sys.argv) > 1:
    print(sys.argv[1])

08-27 20:18