如何从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])