linux:python:python_tcl混合编程
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
linux:python:python_tcl混合编程 [2020/09/15 09:32] – zhangguo | linux:python:python_tcl混合编程 [2024/04/08 15:50] (当前版本) – [2. python zip tcl混合] zhangguo | ||
---|---|---|---|
行 32: | 行 32: | ||
==== - 添加命令 ==== | ==== - 添加命令 ==== | ||
+ | 注:如果需要更多命令支持的话,可能需要自行查看'' | ||
利用createcommand方法将一个Python函数作为命令添加到Tcl解释器中。 | 利用createcommand方法将一个Python函数作为命令添加到Tcl解释器中。 | ||
行 63: | 行 63: | ||
def py_add(a, b): | def py_add(a, b): | ||
- | return int(a)+int(b) | + | return int(a)+int(b) |
def tcl_py_add(*args): | def tcl_py_add(*args): | ||
行 83: | 行 83: | ||
</ | </ | ||
+ | === - 使用注意 === | ||
+ | python的命令加入tcl解释器之后,python侧出现的类型check错误信息不会显示在tcl中(< | ||
+ | <color # | ||
行 168: | 行 171: | ||
不要用这种方法获得简单变量以及list的值。 | 不要用这种方法获得简单变量以及list的值。 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== - python zip tcl混合 ===== | ||
+ | **测试程序** | ||
+ | {{linux: | ||
+ | |||
+ | |||
+ | <code python [enable_line_numbers=" | ||
+ | # | ||
+ | |||
+ | import tkinter | ||
+ | |||
+ | |||
+ | import zipfile | ||
+ | import io | ||
+ | |||
+ | |||
+ | fh = open(' | ||
+ | fbuf = fh.read() | ||
+ | fh.close() | ||
+ | |||
+ | fio = io.BytesIO() | ||
+ | |||
+ | fio.write(fbuf) | ||
+ | |||
+ | |||
+ | |||
+ | # zfile = zipfile.ZipFile(' | ||
+ | zfile = zipfile.ZipFile(fio, | ||
+ | for i in zfile.filelist: | ||
+ | bin = zfile.read(i.filename) | ||
+ | line = str(bin, encoding = " | ||
+ | |||
+ | interp = tkinter.Tcl() | ||
+ | interp.eval(line) | ||
+ | |||
+ | </ | ||
+ | | ||
+ | **运行结果** | ||
+ | |||
+ | < | ||
+ | (base) D: | ||
+ | abc01 | ||
+ | abc02 | ||
+ | opq01 | ||
+ | opq02 | ||
+ | </ |
linux/python/python_tcl混合编程.1600133567.txt.gz · 最后更改: 2023/03/17 10:12 (外部编辑)