c#打开py文件的方法
每个编程语言都有它的优势,那么我们如何在一个语言中使用其他编程语言的代码,并完成工作呢?今天我就用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#教程
下一篇:利用Aspose.Cells和Excel模板导出统计数据
本文标题:c#打开py文件的方法
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/4978.html
您可能感兴趣的文章
- 01-10C#通过反射获取当前工程中所有窗体并打开的方法
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#停止线程的方法
- 01-10WinForm实现仿视频播放器左下角滚动新闻效果的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的方法
- 01-10C#实现清空回收站的方法
- 01-10C#实现读取注册表监控当前操作系统已安装软件变化的方法
- 01-10C#实现多线程下载文件的方法
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10SublimeText编译C开发环境设置
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-11ajax实现页面的局部加载
- 01-10C#中split用法实例总结
- 04-02jquery与jsp,用jquery
- 08-05DEDE织梦data目录下的sessions文件夹有什