c#打开py文件的方法

所属分类: 软件编程 / C#教程 阅读数: 133
收藏 0 赞 0 分享

每个编程语言都有它的优势,那么我们如何在一个语言中使用其他编程语言的代码,并完成工作呢?今天我就用C#打开py文件,不调用py的方法。程序执行的效果如下图

1、在百度上搜索“ironpython官网”,选择ironpython。

2、进入官网后选择Download下载,下载资源。

3、选择要下载的文件,下载到本地磁盘。我存储在了F盘下的迅雷下载。

4、下载完成,在我们存储的路径中找到刚下载的文件,单击打开,进入安装向导界面。

5、同意上面的文件。

6、设置软件安装的位置,这里我就使用了默认位置(C:\Program Files (x86)\IronPython 2.7\),后面添加引用的时候要在这个路径下找dll文件。

7、点击install安装,等待一会儿安装,安装完成后单击“Finish”按钮,这样我们就完成了安装,现在就可以打开visual studio软件来实现C#打开py文件吧。

1、C#打开py文件

在visual studio2017程序设计软件中新建一个控制台程序(打开visual studio2017,进入文件菜单->新建->项目)。在新建项目窗体中选择编程语言C#下的Windows经典桌面,找打控制台项目,这里新建一个叫“openpy”的项目。

2、在我们刚创建的项目中引用IronPython.dll,Microsoft.Scripting.dll 两个dll文件。具体做法:选择引用,在浏览中找到我们安装ironpython的路径,选择文件夹下的这两个文件点击添加。

3、我们现在在打开引用,可以看到我们刚才添加的来给引用的dll了。

4、现在我们在项目中创建一个文本文件,起名为“要打开的py文件.py”。

5、在我们新建的“要打开的py文件.py”输入代码:

def welcome(name):

return "我是py文件,欢迎C#程序打开,我接收到的参数是 : " + name

为后面的调用显示信息,可以看出文件打开是否成功。

6、现在我就在Main函数中实现打开“要打开的py文件.py”文件的功能。

首先添加两个引用:它们定义了Python和ScriptRuntime两个类型。

第一句代码创建了一个Python的运行环境,第二句则使用.net4.0的语法创建了一个动态的对象, OK,下面就可以用这个dynamic类型的对象去调用刚才在定义的welcome方法了。

7、编译运行刚创建的文件,看看能不能打开.py的文件。发现找不到我们创建的路径,这是因为我们用dynamic obj = pyRuntime.UseFile("要打开的py文件.py");这个语句来调用文件,默认路径设置在和可执行程序一个路径下了,二其实我们刚创建的文件没有存储到debug文件夹下,所以打不开。

8、现在就来解决找不到文件的问题,最简单笨拙的办法是将“要打开的py文件.py”文件移动到和可执行文件在同一目录下就可以了。

还有一中办法就是将将“要打开的py文件.py”文件的复制到输出目录的属性设置为“始终复制”就ok了。

9、现在我们在刺来编辑运行刚创建的项目吧,看看能想要显示我们的输出吗?

是不是可以在控制台程序中看到输出了“我是py文件,欢迎C#程序打开,我接收到的参数是 :  感谢C#的打开”的信息,其中我们传递的参数“感谢C#的打开”也成功显示了。

总结:以上就是关于c#打开py文件的方法和步骤,感谢大家的学习和对脚本之家的支持。

更多精彩内容其他人还在看

C# 大小写转换(金额)实例代码

C# 大小写转换(金额)实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm中Panel实现用鼠标操作滚动条的实例方法

由于在WinForm中Panel不能直接响应鼠标的滚动事件,只好采用捕获窗体的滚动事件。
收藏 0 赞 0 分享

C#访问应用程序配置文件的方法

C#访问应用程序配置文件的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#读写文件的方法汇总

C#读写文件的方法汇总,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#计算代码执行时间的方法

在一些测试工作时我们需要获得高精度的代码执行时间以比较其效率。
收藏 0 赞 0 分享

C# 动画窗体(AnimateWindow)的小例子

C# 动画窗体(AnimateWindow)的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# zxing二维码写入的实例代码

C# zxing二维码写入的实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

c#判断输入的是不是数字的小例子

c#判断输入的是不是数字的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

c# 深拷贝与浅拷贝的区别分析及实例

浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
收藏 0 赞 0 分享

C#利用com操作excel释放进程的解决方法

最近利用Microsoft.Office.Interop.Excel.Application读取一个excel后,进程中一直存在excel,在网上找了一阵子,其中有几个解决方案
收藏 0 赞 0 分享
查看更多