调用Python脚本基本应用方式简述

在编程人员需要选择一种合适的计算机语言进行程序开发时,他们脑海中往往会出现Python这一语言。它灵活易用的特点大大的提高了开发人员的效率。在这里我们将会为大家详细介绍一下调用Python脚本的相关方法。#t#

10年积累的成都网站设计、成都网站建设、外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有莲花免费网站建设让你可以放心的选择与我们合作。

之前简单了解过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源代码(这两天整理后发布)。

分享名称:调用Python脚本基本应用方式简述
本文链接:http://www.shufengxianlan.com/qtweb/news23/400923.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联