tcl调用python文件并传参
来源:互联网 发布:yii2 cms 编辑:程序博客网 时间:2024/06/05 19:07
项目开发中需要用到tcl调用python实现一些tcl无法实现的功能,mark下。
tcl调用python文件无传参
首先新建一个add.py文件,该文件实现两个数的相加并返回结果,python中函数返回值用return实现,如果想要让python文件中值返回给tcl程序必须在python中print该值,add.py文件代码如下:
#-*- coding: UTF-8 -*- def add(a,b): return a+bsum = add(10,20)print sum
然后新建一个add.tcl文件,在该文件中调用python文件,代码很简单,如下:
set sum [exec python add.py]puts $sum
此时sum的值为30,表明调用add.py成功。
tcl调用python文件有传参
python文件接收参数通过sys模块实现,比如执行python add.py 10 20,在add.py中print sys.argv
为['add.py', '10', '20']
,那么sys.argv[1]和sys.argv[2]就分别等于10和20了,add.py代码如下:
# -*- coding: UTF-8 -*- import sysdef add(a,b): return int(a)+int(b)sum = add(sys.argv[1],sys.argv[2])print sum
相应的add.tcl代码如下
set sum [exec python add.py 10 20]puts $sum
此时输出结果为30
python调用tcl
顺便讲讲python如何调用tcl,首先我们写一个tcl脚本,命名为test.tcl,文件内容如下,这个脚本里只有一个函数,返回两个值的和,非常简单。
proc add {n m} { return [expr $n+$m]}
接下来我们看看Python脚本,其实是在Python中建立了一个tcl解释器,然后在python中就可以用tcl解释器执行tcl中的函数了,此时tcl_str等于30。
from Tkinter import Tcl#建立一个tcl的解释器tcl = Tcl()#导入tcl文件tcl.eval('source test.tcl')#调用函数,tcl_str为返回值tcl_str=tcl.eval('add 10 20')print tcl_str
输出30
0 0
- tcl调用python文件并传参
- Python调用Tcl代码
- TCL 传引用调用
- jersey服务调用python脚本并动态传参
- Tcl脚本:从文件读入一行并处理的框架
- bat文件间调用并传值
- python调用数据库并查询
- tcl/tk and python
- java 利用Runtime.getRuntime().exec()调用python脚本并传参
- java 利用Runtime.getRuntime().exec()调用python脚本并传参
- 【原】Gradle调用shell脚本和python脚本并传参
- java调用Python文件
- python 调用sh文件
- C++调用Python文件
- python调用matlab文件
- Python 调用py文件
- 运行.tcl文件
- TCL引用另一个文件
- 分享个Duilib中基于wke的浏览器控件
- android CoordinatorLayout使用总结(*****)
- linux下gcc/g++的命令和使用详解
- 可以访问外国公司的网站
- 安卓AsyncTask异步加载图片
- tcl调用python文件并传参
- proc文件系统介绍
- ERP中如下将单表的汇总表下载并且发送?
- 关于fragment传值的问题
- SAP BDC批导返利协议(参考模板协议 复制——不同客户)
- Asymptotic Analysis——渐近分析
- error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0'
- BeanUtils.copyProperties() 用法
- UVA 11922 splay