C#调用Python中Pyd第三方库方法

C#调用Python中Pyd第三方库方法

ID:47426662

大小:292.49 KB

页数:4页

时间:2020-01-10

C#调用Python中Pyd第三方库方法_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《C#调用Python中Pyd第三方库方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C#调用Python中Pyd第三方库方法]一、目标:通过C#使用命令行的方式调用Python中含有pyd第三方库的脚步程序(注:通过IronPython相关DLL文件的方式调用Pyd格式的库文件非常不方便)二、所需软件以及环境配置1软件:python3.5.1,VS2010,Pyd文件2环境配置:添加python路径到环境变量Path中,如下图所示:C:UsersAdministratorAppDataLocalProgramsPythonPython35Lib;C:UsersA

2、dministratorAppDataLocalProgramsPythonPython35;3Pyd文件配置将Pyd文件放到python根目录的Lib文件中(若为执行该操作会在导入python模块时出现NomodulenamedXXX),如下所示:图2找到一个Pyd文件图3将Pyd放到指定的路径下4与Pyd相关的DLL文件配置为了使Pyd包能正常导入,需要将与之相关的DLL文件放到windows系统目录下,如下图所示:图5与文中Pyd文件对应的DLL文件将图5中的DLL文件放到C:Wi

3、ndowsSysWOW64下。配置完成三、C#调用python脚本1首先通过VS建立一个C#的控制台2所需要的usingList如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingIronPython.Hosting;usingMicrosoft.Scripting.Hosting;usingSystem.Diagnostics;3执行脚本classProgram{private

4、staticvoidCallExe(){Processusepy=newProcess();stringpath="F:\cloud.py";ProcessStartInfostartInfo=newProcessStartInfo(@"python.exe","F:\cloud.py");startInfo.UseShellExecute=false;startInfo.CreateNoWindow=false;usepy.StartInfo=startInfo;}}程序中path为所要执行的

5、指定路径下面的python脚本名,文中脚本执行效果如下:图6通过C#调用python脚本执行效果4路径中有空格字符处理4.1问题描述:再用命令行运行python的相关程序时,尤其是当输入python中的变量有路径或者其他字符行数组时,不能直接在变量中输入“空格”字符,否则python无法识别解决方法:在python脚本路径中前后加入“”,如下程序所示:"""+input+""";input为输入的路径namespaceCloudService{classProgram{privatestati

6、cstringgetValidArgument(stringinput){if(input.Contains("")){return"""+input+""";}returninput;}privatestaticvoidCallExe(){Processusepy=newProcess();stringpythonPath=System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"cloud.py");stringimagePa

7、th=@"C:/CC_SDK_DATA/data/Lionfountain/Photos";stringprojectPath=@"C:/CC_SDK_DATA/projectPy/automaster";stringarg=getValidArgument(pythonPath)+""+getValidArgument(imagePath)+""+getValidArgument(projectPath);Console.WriteLine(arg);ProcessStartInfostartIn

8、fo=newProcessStartInfo(@"python.exe",arg);startInfo.UseShellExecute=false;startInfo.CreateNoWindow=false;usepy.StartInfo=startInfo;//usepy.StartInfo.Arguments=path;//usepy.StartInfo.UseShellExecute=false;//usepy.StartInfo.RedirectStanda

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。