如何从Python脚本运行其他程序?
这是我目前写的代码
from subprocess import call
call("/Users/oscar/Desktop/Controlled Assessment/Currency Converter.py")
当我运行它的时候,出现了这个错误信息
Traceback (most recent call last):
File "/Users/oscar/Desktop/Controlled Assessment/ISBN Checker.py", line 10, in <module>
call("/Users/oscar/Desktop/Controlled Assessment/Currency Converter.py")
File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/subprocess.py", line 470, in call
return Popen(*popenargs, **kwargs).wait()
File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/subprocess.py", line 744, in __init__
restore_signals, start_new_session)
File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/subprocess.py", line 1394, in _execute_child
raise child_exception_type(errno_num, err_msg)
OSError: [Errno 8] Exec format error
3 个回答
0
检查一下你脚本里的解释器指令。
它应该以以下内容开头:
#!/usr/bin/env python
print 'your python script...'
这意味着当你直接运行这个脚本时,它会被 Python 程序来解释。
你可以在这里获取更多信息:http://en.wikipedia.org/wiki/Shebang_(Unix)
0
使用 subprocess.Popen
import sys, subprocess
subprocess.Popen([sys.executable, "myscript.py"])
这样可以在Python命令行中运行 myscript.py
。
2
看起来你想要执行另一个Python脚本,为什么不直接把它导入呢?
import Currency_Converter
然后在里面运行你想要的模块?把文件名中的空格去掉,换成下划线就可以了。