成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

調用Python腳本基本應用方式簡述

開發 后端
我們今天將會在這篇文章中為大家詳細介紹一下有關調用Python腳本的相關應用方法,希望可以為又需要的朋友們帶來些幫助。

在編程人員需要選擇一種合適的計算機語言進行程序開發時,他們腦海中往往會出現Python這一語言。它靈活易用的特點大大的提高了開發人員的效率。在這里我們將會為大家詳細介紹一下調用Python腳本的相關方法。#t#

之前簡單了解過Python語言,但沒有深入和系統的學習過,只是一直覺得它足夠的靈活,而且不需要編譯(因為Python是解釋型語言),所以就一直想把它應用到CodeMaker中,達到一種靈活的、自定義的配置。

1、首先去下載IronPython類庫(這里使用 IronPython-v2.6),我們借助IronPython類庫,在.Net下運行調用Python腳本。

2、將IronPython以及相關的類庫添加到項目引用里。

  1. IronPython.dll   
  2. IronPython.Modules.dll   
  3. Microsoft.Dynamic.dll   
  4. Microsoft.Scripting.Core.dll   
  5. Microsoft.Scripting.Debugging.dll   
  6. Microsoft.Scripting.dll   
  7. Microsoft.Scripting.ExtensionAttribute.dll  

3、只做了個小例子,不是很復雜,所以就直接貼調用Python腳本的代碼了。

 

  1. // 主方法  
  2. static void Main(string[] args)  
  3. {  
  4. // 創建腳本引擎  
  5. ScriptEngine engine = Python.CreateEngine();  
  6. // 創建一個腳本范圍容器  
  7. ScriptScope scope = engine.CreateScope();  
  8. // 設置變量  
  9. engine.SetVariable(scope, "UserName", "cnBlogs");  
  10. // 執行Python腳本,并獲取返回值  
  11. ScriptScope resultScope = engine.ExecuteFile("test.py", scope);  
  12. // 輸出結果  
  13. Console.WriteLine(resultScope.GetVariable("Result"));  
  14. }  
  15. // Python腳本:  
  16. def GetType(name):  
  17. return "hello " + name;  
  18. Result = GetType(UserName); 

調用Python腳本內容是很簡單的,聲明一個函數,參數為name,函數返回拼接name后的字符串,函數結束。然后調用該函數,參數為UserName,返回值為Result。

腳本中,UserName與主方法中的

engine.SetVariable(scope, "UserName", "cnBlogs");相對應。

Result與主方法中的

resultScope.GetVariable("Result")相對應,而無需再在腳本中聲明這兩個變量。

執行結果:

 

可以看到,輸出的字符串是從Python腳本中返回的,就可以達到通過修改腳本實現執行結果的變化。

4、調用Python腳本在CodeMaker中的應用

使用方式:

我們以前也提到過已經提過該代碼生成工具是采用標簽的方式自定義模板,然后根據模板生成代碼文件。所以為相應的Python腳本添加了一個script標簽。

  1. < c:script path="test.py" variables="{userName:cnBlogs;password:123456}"
     result="Result" /> 

path:腳本文件路徑(相對于EXE文件的路徑)

variables:變量容器,原本打算使用類似于JSON格式的,但因為一些特殊符號會影響標簽的解析,所以稍微改了一下分隔符,多個變量和值之間用;(分號)隔開。

result:腳本執行結果的返回變量,用于在代碼中獲取腳本返回值。

用途:在生成實體類的時候,對于類型轉換,大部分可以直接使用Convert.ToXXX()這種形式,但對于Guid,卻只能用new Guid()這種形式。

借助腳本,就可以在腳本中判斷類型,如果是Guid的話,則返回new Guid();若是其他類型,則返回ConvertToXXX();

以上調用Python腳本的方法僅提供思路,若有興趣,可查看CodeMaker v1.5源代碼(這兩天整理后發布)。

責任編輯:曹凱 來源: 博客園
相關推薦

2010-03-03 16:40:55

Python HTTP

2010-02-04 17:16:33

C++調用python

2010-03-03 15:17:46

Python調用MyS

2010-03-03 10:03:55

Python連接Sql

2010-03-03 14:30:05

Python set類

2010-03-03 14:40:37

Python打包方法

2010-03-03 16:08:26

Python取得文件列

2010-02-02 14:45:35

C++ typeof

2013-12-12 16:10:21

Lua腳本語言

2010-03-03 13:22:08

Python正則表達式

2010-01-25 13:45:04

Android單選框

2010-02-02 17:33:17

C++友元函數

2010-03-04 14:57:08

Python解密VBS

2010-07-08 15:24:17

SNMP trap

2010-03-05 15:47:59

Python Stri

2010-03-04 15:52:59

Python構造列表

2010-03-03 13:32:08

Python壓縮文件

2010-02-25 10:52:29

WCF響應服務

2010-02-26 13:40:28

WCF消息頭

2010-02-23 15:58:57

WCF Session
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 超碰97在线免费 | 一级欧美黄色片 | 国产成人福利视频 | 日韩在线免费播放 | 午夜www | 久久久久久综合 | 久久久高清 | 一级黄色片毛片 | 一级片在线观看 | av片网| 国产传媒毛片精品视频第一次 | 欧美一级在线 | 亚洲理论在线观看电影 | 国产精品一区二区av | 99精品国产一区二区青青牛奶 | 精品少妇一区二区三区在线播放 | 精品欧美一区二区三区久久久小说 | 国产福利在线视频 | 日本精品一区二区三区在线观看视频 | 欧美日韩中文在线观看 | 欧美日韩不卡在线 | 日韩中文字幕区 | 国产激情偷乱视频一区二区三区 | 午夜手机在线视频 | 日韩中文字幕在线播放 | 日韩欧美一区二区三区四区 | 午夜一区二区三区在线观看 | 一级看片免费视频 | 久久精品欧美一区二区三区不卡 | 国产区精品 | 精品一区二区久久久久久久网精 | 国内精品久久久久 | 亚洲第一成人av | 色一情一乱一伦一区二区三区 | 日韩中文字幕在线视频观看 | 欧美美女一区二区 | 精品欧美一区二区精品久久 | 欧美影院| 亚洲 精品 综合 精品 自拍 | 国产精品一区一区三区 | 免费亚洲视频 |