c#打开py文件的方法

所属分类: 软件编程 / C#教程 阅读数: 56
收藏 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#中Datetimepicker出现问题的解决方法

这篇文章主要给大家介绍了关于C#中Datetimepicker出现问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

C# SQLite数据库入门使用说明

这篇文章主要给大家介绍了关于C#中SQLite数据库入门使用的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

C#实现批量下载图片到本地示例代码

这篇文章主要给大家介绍了关于C#如何实现批量下载图片到本地的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c#具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

如何获取C#中方法的执行时间以及其代码注入详解

这篇文章主要给大家介绍了关于如何获取C#中方法的执行时间以及其代码注入的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
收藏 0 赞 0 分享

C#中通过LRU实现通用高效的超时连接探测

这篇文章主要介绍了c#中通过LRU实现通用高效的超时连接探测,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

如何使用C#将Tensorflow训练的.pb文件用在生产环境详解

这篇文章主要给大家介绍了关于如何使用C#将Tensorflow训练的.pb文件用在生产环境的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

C#程序启动项的设置方法

这篇文章主要为大家详细介绍了C#程序启动项的设置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

c#爬虫爬取京东的商品信息

这篇文章主要给大家介绍了关于利用c#爬虫爬取京东商品信息的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们随着小编来一起学习学习吧
收藏 0 赞 0 分享

C#随机数生成字母金字塔

这篇文章主要为大家详细介绍了C#随机数生成字母金字塔,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

WPF实现窗体中的悬浮按钮

这篇文章主要为大家详细介绍了WPF实现窗体中的悬浮按钮,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多