我有一个tcl驱动程序脚本,后者又调用其他几个程序。 我想从我的tcl脚本中调用python脚本。 让我们说这是我的python脚本“1.py”
#!/usr/bin/python2.4
import os
import sys
try:
fi = open('sample_+_file', 'w')
except IOError:
print 'Can\'t open file for writing.'
sys.exit(0)
和tcl脚本是“1.tcl”
#! /usr/bin/tclsh
proc call_python {} {
exec python 1.py
}
这不会产生任何错误,但同时它不会执行python脚本中的操作。
什么应该替换1.tcl中的代码片段“exec python 1.py”来调用python脚本?可以使用exec?
调用python脚本提前致谢!!
答案 0 :(得分:14)
您的tcl脚本定义了执行python脚本的过程,但不调用该过程。添加对tcl脚本的调用:
#! /usr/bin/tclsh
proc call_python {} {
set output [exec python helloWorld.py]
puts $output
}
call_python
此外,通过exec
启动的流程写入stdout的任何内容都不会显示在您的终端中。你需要从exec调用中捕获它,并且自己打印:
#! /usr/bin/tclsh
proc call_python {} {
set output [exec python helloWorld.py]
puts $output
}
call_python