python文件中未引入其他包、模块

以下方法不适用于pyhton 文件有第三方包、模块,有第三方包,模块的实现方法,请戳这里→https://www.cnblogs.com/zhuanjiao/p/12007176.html

一、安装IronPython包,使用的是2.7.5版本

二、源码

2.1 python 源码,实现一个快速排序功能

def quickSort(lyst):
quickSortHelper(lyst, 0, len(lyst) - 1)
return lyst def quickSortHelper(lyst, left, right):
if left < right:
pivotLocation = partition(lyst, left, right)
quickSortHelper(lyst, left, pivotLocation - 1)
quickSortHelper(lyst, pivotLocation + 1, right) def swap(lst, i, j):
temp = lst[i]
lst[i] = lst[j]
lst[j] = temp def partition(lyst, left, right):
middle = (left + right) // 2
pivot = lyst[middle]
lyst[middle] = lyst[right]
lyst[right] = pivot
boundary = left
for index in range(left, right):
if lyst[index] < pivot:
swap(lyst, index, boundary)
boundary += 1
swap(lyst, right, boundary)
return boundary

  2.2 C#源码

using IronPython.Hosting;
using Microsoft.Scripting.Hosting; namespace TestClass
{
public class CSharpCallPython
{
public int[] Sort(int[] arr)
{
string path = @"D:\PyCharm\source\Study\test.py";
ScriptRuntime pyRuntime = Python.CreateRuntime();
dynamic py = pyRuntime.UseFile(path);
return py.quickSort(arr);
}
}
}
var arr = new CSharpCallPython().Sort(new int[] { 45, 12, 87, 2, 204, 3 });
foreach (var item in arr)
{
Console.WriteLine(item);
}
Console.ReadLine();

执行结果:

C#调用Python(一)的更多相关文章

  1. cpp 调用python

    在用cpp调用python时, 出现致命错误: no module named site  ,  原因解释器在搜索路径下没有找到python库.可以在调用Py_Initialize前,调用 Py_Se ...

  2. c调用python

    #include <Python.h>//python33(python2.x有几个函数不对应) /* PyImport_ImportModule 导入一个Python模块并返回它的指针 ...

  3. linux+php+apache web调用python脚本权限问题解决方案

    lamp : linux + apache + mysql + php 在上篇随笔中linux+php+apache调用python脚本时出现的问题的根本原因是:apache运行时使用的apache用 ...

  4. linux+php+apache web调用python脚本权限问题

    lamp : linux + apache + mysql + php 在近期项目中使用 linux + apache + php调用python脚本是出现以下权限问题: build/bdist.li ...

  5. C#中调用python方法

    最近因为项目设计,有部分使用Python脚本,因此代码中需要调用python方法. 1.首先,在c#中调用python必须安装IronPython,在 http://ironpython.codepl ...

  6. PHP 调用Python脚本

    上次做用户反馈自动翻译,写了个python脚本,将日文的用户反馈翻译成中文,效果虽然可以,但其它不懂python的童鞋就没法使用了,所以搭了个web服务,让其他人可以通过网页访问查询.使用的是apac ...

  7. C++中调用Python脚本

    C++中调用Python脚本的意义就不讲了,至少你可以把它当成文本形式的动态链接库, 需要的时候还可以改一改,只要不改变接口, C++的程序一旦编译好了,再改就没那么方便了 先看Python的代码 代 ...

  8. java调用python代码

    同样的我们需要安装jython,具体的步骤如下: 1. 去 http://sourceforge.net/projects/jython/ 下载最新的jython相关的jar包. 2. 下载下来的ja ...

  9. C++调用python

    本文以实例code讲解 C++ 调用 python 的方法. 本文在util.h中实现三个函数: 1. init_log: 用google log(glog)初始化log 2. exe_command ...

  10. C#调用Python 脚本语言

    1. 安装IronPython http://pan.baidu.com/s/1qW4jNJ2  下载IronPython 2.7 安装下载下来的安装包 2. 创建项目 创建一个C#的Windows窗 ...

随机推荐

  1. Maven从入门到精通(三)

    我们已经了解了Maven的环境搭建以及POM的主要标签及作用,接下来我们要讲解一下Maven的仓库以及jar下载的一个过程 首先我们要明白仓库及以下一些概念 1.仓库:    在Maven中,任何一个 ...

  2. spring boot-12.Servlet 容器

    1.spring boot 默认使用的是嵌入式的Servlet容器,spring-boot-starter-web 依赖了spring-boot-satrter-tomcat就是引入了嵌入式的tomc ...

  3. JavaScript学习总结(一)——闭包、对象、函数

    一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...

  4. yii框架製作簡易RBAC權限管理

    控制器源碼 <?php namespace app\controllers; use yii; use yii\web\Controller; class PowerController ext ...

  5. Ehcache 入门详解 (转)

    一:目录 EhCache 简介 Hello World 示例 Spring 整合 二: 简介 2.1.基本介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hiberna ...

  6. list 小练习

    li = ["alex", "WuSir", "ritian", "barry", "wenzhou" ...

  7. 深入理解java虚拟机(2)

    一.对象的访问 ----------------------------------------------------- 1.对象的访问与java栈.堆和方法区之间的关联关系. eg:Object ...

  8. Echarts-样式简介

    本文介绍这几种方式,他们的功能范畴可能会有交叉(即同一种细节的效果可能可以用不同的方式实现),但是他们各有各的场景偏好. 颜色主题(Theme) 调色盘 直接样式设置(itemStyle.lineSt ...

  9. 初探 -5 JavaScript 语法

    JavaScript 是一个程序语言.语法规则定义了语言结构. JavaScript 语法 JavaScript 是一个脚本语言. 它是一个轻量级,但功能强大的编程语言. JavaScript 字面量 ...

  10. vue 简介 vue 项目 组件

    1. 概念 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.能够为复杂的单页应用提供驱动. 2. 用法 2.1 声明式渲染 2.1.1 改变文本     {{ m ...