Joe96
疯狂的咸鱼
采纳率60%
2017-05-10 07:58 阅读 1.2k

.Net项目开发调用写好的Python脚本,急急急

20

我用eclipse写了一个Python爬虫,爬取网页的数据,但是我开发一个.net项目需要用到写好的Python脚本,怎么调用啊,用了IronPython,但是我Python脚本中又调用了第三方模块BeautifulSoup4,调用脚本的时候回报错,没有这个东西!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • u014370904 牛顿第一定律 2017-05-10 08:01

    你将写好的脚本转换成Bin文件,然后引用进你的.NET项目,就可以了

    点赞 评论 复制链接分享
  • JavaForMe JavaForMe 2017-05-10 08:17

    1、在c#中调用python必须安装IronPython后才能调用
    2、对C#工程里添加IronPython.dll和Microsoft.Scripting.dll的引用
    3、在调用类里引入相应的dll
    using IronPython.Hosting;
    using Microsoft.Scripting.Hosting;

    ——一个简单的例子——
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using IronPython.Hosting;
    using Microsoft.Scripting.Hosting;

    namespace cn.edu.bnuz
    {
    public class CallPython
    {
    private ScriptRuntime pyRuntime = null;
    private dynamic obj = null
    //构造函数做初始化,主要是引入py文件并加载初始化
    public CallPython()
    {
    string serverpath = AppDomain.CurrentDomain.BaseDirectory + “call_python.py";//所引用python路径
    pyRuntime = Python.CreateRuntime();
    ScriptEngine Engine = pyRuntime.GetEngine("python");
    ScriptScope pyScope = Engine.CreateScope();
    obj = Engine.ExecuteFile(serverpath, pyScope);
    }
    public bool ExcutePython()
    {
    try
    {
    if (null != obj)
    {
    obj.call_method_init();//调用call_python.py中的方法
    }
    else
    {
    return false;
    }
    return true;
    }
    catch(Exception ex)
    {
    //日志处理
    throw ex;
    }
    }
    }
    }
    //祝发运!

    点赞 评论 复制链接分享

相关推荐