小编ush*_*sha的帖子

如何使用tcl exec命令运行python脚本

我有一个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脚本吗?

提前致谢!!

python tcl exec

8
推荐指数
1
解决办法
1万
查看次数

在tcl脚本中,exec make check RUNTESTFLAGS ="compile.exp --target_board = atmega128-sim"不起作用

我正在尝试使用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.请建议一种方法来实现这一目标.

提前致谢 !!

tcl

2
推荐指数
1
解决办法
335
查看次数

标签 统计

tcl ×2

exec ×1

python ×1