时间:2020-10-22 22:22:17 | 栏目:.NET代码 | 点击:次
每个编程语言都有它的优势,那么我们如何在一个语言中使用其他编程语言的代码,并完成工作呢?今天我就用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#的打开”也成功显示了。