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文件的方法和步骤,感谢大家的学习和对我们的支持。

(0)

相关推荐

  • C#调用python文件执行

    我的电脑环境是使用.net framework4.5.1,如果在调试过程中调不通请注意 我用的是Visual studion 2017,python组件下载地址:http://ironpython.codeplex.com/releases/view/ 下载的版本是2.7,下载安装完之后记得引入安装路径下的以下三个dll (1)首先先说一个简单的功能,在c#代码中执行python字符串,内容如下: (2)c#调用python文件: 在当前目录下新建一个后缀名为py的文件,文件名为AmoutDis

  • Python调用C# Com dll组件实战教程

    之前公司有套C# AES加解密方案,但是方案加密用的是Rijndael类,而非AES的四种模式(ECB.CBC.CFB.OFB,这四种用的是RijndaelManaged类),Python下Crypto库AES也只有这四种模式,进而Python下无法实现C# AES Rijndael类加密效果了. 类似于这种C# 能实现的功能而在Python下实现不了的,搜集资料有两种解决方案,第一种方式,使用IronPython 直接调用C# dll文件,教程网上很多,不在赘述了,这种方式有个缺点,用的是ir

  • C#调用Python模块的方法

    当下,C#与Python都是比较热门的计算机编程语言,他们各有优缺点,如果能让他们互相配合工作,那是多么美好的事情,今天我来讲解一下如何利用C#来调用Python. 如果让C#支持调用Python模块,我们首先需要安装一些扩展,这里推荐使用IronPython库. 第一步,我们需要下载IronPython库的安装包,这里请大家移步官网http://ironpython.codeplex.com/,下载并安装相关库文件. 第二步,我们新建一个C#控制台测试项目,并将IronPython安装目录中的

  • C#调用Python脚本的简单示例

    IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Hugunin所发起,是一个开源的项目,基于微软的 DLR引擎.IronPython的在CodePlex上的主页:http://ironpython.codeplex.com/ 使用场景: 如果你的小伙伴会写Python脚本,而且已经实现大部分项目的功能不需要再用C# 实现.现在缺少窗体,此时Python+C#的组合就可以完美的结局问题啦! 示例: 借由IronPython,就可以利用.NET执行存储在P

  • c#打开py文件的方法

    每个编程语言都有它的优势,那么我们如何在一个语言中使用其他编程语言的代码,并完成工作呢?今天我就用C#打开py文件,不调用py的方法.程序执行的效果如下图 1.在百度上搜索"ironpython官网",选择ironpython. 2.进入官网后选择Download下载,下载资源. 3.选择要下载的文件,下载到本地磁盘.我存储在了F盘下的迅雷下载. 4.下载完成,在我们存储的路径中找到刚下载的文件,单击打开,进入安装向导界面. 5.同意上面的文件. 6.设置软件安装的位置,这里我就使用了

  • Django自带日志 settings.py文件配置方法

    Django settings.py文件配置部分: # logging配置 log_file = '/home/nagain/learn/log' log_file_path = os.path.join(log_file, 'all.log') if not os.path.exists(log_file): os.mkdir(log_file) os.mknod(log_file_path) # 创建空文件 LOGGING = { 'version': 1, 'disable_existin

  • Python3.6安装卸载、执行命令、执行py文件的方法详解

    开发一个功能,C/C++可能要500行代码,Java可能需要200行代码,然而Python可能需要50行代码,虽然代码少,可能开发的飞起,但是这其实是已牺牲运行效率位代价的,可能C只要1秒,Java需要3秒,最后Python要20秒这种,不过Who Care,对吧,人生苦短,还是来学python吧 下载最新Python安装包 安装Python 如何验证安装成功 在交互模式下执行一句Python命令 在命令行模式下执行一个Python文件 关闭交互模式终端会话窗口 window下如何卸载Pytho

  • 利用pyuic5将ui文件转换为py文件的方法

    操作系统上正确配置python环境之后,pyuic5也是一个可以识别的命令行指令 到.ui文件的目录下,直接cmd进入,输入pyuic5 -o 转换的py文件 待转换的ui文件 此时,需要对login.py添加一点代码使得设计好的UI能够出现在我们面前 import sys if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) # 创建一个QApplication,也就是你要开发的软件app MainWind

  • python顺序执行多个py文件的方法

    假如我要执行code目录下的python程序,假设该目录下有1.py,2.py,3.py,4.py四个文件,但是我想执行1.py,2.py,4.py,则可在该目录下创建一个python文件,代码如下: import os os.system("python ./1.py") os.system("python ./2.py") os.system("python ./4.py") 若想指定输出到某个文件,这里我指定输出到log.txt,log.t

  • linux直接运行py文件的方法

    1.首先创建好文件(cd 到需要放置的目录下) touch myTest.py 2. 编辑myTest.py vi myTest.py 在里面添加内容 #!/usr/bin/env python 然后添加需要添加的代码 print('hello, world!') 然后进入命令模式,:wq保存退出vi 3. 更改myTest.py的权限,根据需要更改,这里主要用于测试,不放设置777 chmod 777 myTest.py 4. 这是可以在当前目录中直接运行myTest.py(类似windows

  • Pycharm如何运行.py文件的方法步骤

    Pycharm时一个非常好用的IDE,但是一开始的时候甚至会因为.py文件不能运行而束手无策... 这里需要说明一下Pycharm的作用,Pycharm并不是一个像matlab那样什么都自己提供的软件,它更像一个非常棒的搭桥软件:将Python和.py文件连接在一起.所以当你发现.py文件不能运行时,多半是因为.py文件的路径没有添加. 所以你需要将.py文件的路径添加了,一种是手动的方法: 1 点击配置文件 2 点击添加 3 选择python并添加.py文件路径 比如,本文中的设置如下: 当你

  • python引入其他文件夹下的py文件具体方法

    红色方框要引入箭头里面的 import sys sys.path.append('../../config/') from database import * print(MYSQL_CONFIG) 内容扩展: Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行.要包含目录里的文件,PHP中只需要给对路径就OK.Python中则不同 a.py 要 import

  • Python引用(import)文件夹下的py文件的方法

    Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行.要包含目录里的文件,PHP中只需要给对路径就OK.Python中则不同,下面来看看这个例子. 目录结构: a.py 要 import dir目录下的 b.py 文件.a.py代码如下: 复制代码 代码如下: # coding=utf-8 "import dir 目录下的 b.py 文件"   impo

  • php打开远程文件的方法和风险及解决方法

    PHP有一个配置选项叫allow_url_fopen,该选项默认是有效的.它允许你指向许多类型的资源,并像本地文件一样处理.例如,通过读取URL你可以取得某一个页面的内容(HTML),看下面的代码 复制代码 代码如下: <?php$contents = file_get_contents('http://www.jb51.net/');?> 当被污染数据用于include和require的文件指向时,会产生严重漏洞.实际上,我认为这种漏洞是PHP应用中最危险的漏洞之一,这是因为它允许攻击者执行

随机推荐