tcl呼叫python檔案無傳參

2021-08-27 05:32:45 字數 1245 閱讀 1880

tcl呼叫python檔案無傳參

首先新建乙個add.py檔案,該檔案實現兩個數的相加並返回結果,python中函式返回值用return實現,如果想要讓python檔案中值返回給tcl程式必須在python中print該值,add.py檔案**如下:

#-*- coding: utf-8 -*-  

def add(a,b):

return a+b

sum = 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 sys

def 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

接下來我們看看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

QT呼叫python檔案(呼叫函式傳參)

pro檔案中 includepath i e miniconda3 include libs le miniconda3 libs lpython37 include define slots q slots include int main int argc,char ar 設定python檔案路...

python 函式,傳參,呼叫

簡單函式介紹 定義 形參 實參 傳參的4中方式 呼叫 return 1.函式定義 python中函式必須先定義,再使用.寫乙個函式前要空兩行,寫完後再空兩行.pycharm書寫 def 函式名 引數 1 2 2.函式呼叫 函式名 引數 舉例 使用函式完成 1 2 定義函式 def add resul...

Python函式呼叫「傳引用」還是」傳值「

結論 結論 python不允許程式設計師選擇採用傳值還是傳引用。python引數傳遞採用的肯定是 傳物件引用 的方式。這種方式相當於傳值和傳引用的一種綜合。如果函式收到的是乙個可變物件 比如字典或者列表 的引用,就能修改物件的原始值 相當於通過 傳引用 來傳遞物件。如果函式收到的是乙個不可變物件 比...