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

ush*_*sha 8 python tcl exec

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

提前致谢!!

Erg*_*wun 15

您的tcl脚本定义了执行python脚本的过程,但不调用该过程.添加对tcl脚本的调用:

#! /usr/bin/tclsh
proc call_python {} {
    set output [exec python helloWorld.py]
    puts $output
}

call_python
Run Code Online (Sandbox Code Playgroud)

此外,通过启动进程写入stdout的任何内容exec都不会显示在终端中.你需要从exec调用中捕获它,并且自己打印:

#! /usr/bin/tclsh
proc call_python {} {
    set output [exec python helloWorld.py]
    puts $output
}

call_python
Run Code Online (Sandbox Code Playgroud)