我有一个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)
Run Code Online (Sandbox Code Playgroud)
和tcl脚本是"1.tcl"
#! /usr/bin/tclsh
proc call_python {} {
exec python 1.py
}
Run Code Online (Sandbox Code Playgroud)
这不会产生任何错误,但同时它不会执行python脚本中的操作.
什么应该替换1.tcl中的代码片段"exec python 1.py"来调用python脚本?可以使用exec调用python脚本吗?
提前致谢!!
我正在尝试使用tcl中的驱动程序脚本运行gcc testsuite.当我写作
if {[catch {exec make check RUNTESTFLAGS="compile.exp --target_board=atmega128-sim"} errmsg ]} {
puts "Test finished with failures\n $errmsg"
} else {
puts "Test finished"
}
Run Code Online (Sandbox Code Playgroud)
这给出了错误
测试以失败结束
make:无法识别的选项`--target_board = atmega128-sim"'
用法:make [options] [target] ...... ......
但是,如果我从RUNTESTFLAGS中删除compile.exp,它可以正常工作.
if {[catch {exec make check RUNTESTFLAGS="--target_board=atmega128-sim"} errmsg ]} {
.....
Run Code Online (Sandbox Code Playgroud)
是因为参数RUNTESTFLAGS中出现双引号吗?我需要使用不同的RUNTESTFLAGS进行make check.请建议一种方法来实现这一目标.
提前致谢 !!