在VS2017中用C#调用python脚本的实现


Posted in Python onJuly 31, 2019

情景是这样的:在C#中调用python脚本进行post请求,python脚本中使用了requests包。

Python的开发环境我们有比较多的选择,pycharm、sublime text等等。但是作为.net平台的Python语言ironPython,可以和C#交互,让编程更活泛。

ironPython本身其实就是一个python的开发环境,我的电脑上还装有python2.7和pycharm,开始的时候使用pycharm写的,本来的想法是用VS直接调用就可以了。但是后来才明白这三者的关系。

pycharm起到的左右就是一个纯编辑器的作用。在VS里面加载了写的.py文件之后,相当于把这个.py文件内部的代码,直接用ironpython解析一遍。

所以,pycharm中所写的import requests(或者其他的,只要不是自身支持的)都会报错!出现module' object has no XXXX

现在回想一下,在pycharm中也不是直接import就ok,也是先需要安装先从菜单栏找到安装第三方库的地方安装完了之后,才能import。

所以需要在ironpython中执行等效的操作。

下面说明python中的sys模块:sys模块提供了一系列有关Python运行环境的变量和函数。

sys.path 

path是一个目录列表,供Python从中查找第三方扩展模块。在python启动时,sys.path根据内建规则、PYTHONPATH变量进行初始化。

在iron python中默认的sys.path是ironpython的安装路径下的lib,而之前用pycharm安装的库是安装在了python2.7的lib中。

所以要在文件的开头加上

import sys
sys.path.append(r'C:\Python27\Lib') #r是禁止转义字符

这样之后,ironpython就可以顺着sys新增的这个path找到库了。

在这些操作中,我感触最深的是,要想弄清楚这些问题,不是要到网上去找代码复制粘贴,而是专注于理解面对的是什么问题,每个问题的对象之间的逻辑关系是什么,从而找出来哪里逻辑错了,找出来问题出在哪里,对症下药,才能又快又好的解决问题。无头苍蝇一般的不断的转换方法,寻找尽可能现成的代码,终究是浪费时间,就算是找到了代码,最后也是一无所获,等问题稍微变变样子,就蒙蔽了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用win32com库播放mp3文件的方法
May 30 Python
Python使用functools模块中的partial函数生成偏函数
Jul 02 Python
python 生成器生成杨辉三角的方法(必看)
Apr 10 Python
Python 实现淘宝秒杀的示例代码
Jan 02 Python
python K近邻算法的kd树实现
Sep 06 Python
详解python 模拟豆瓣登录(豆瓣6.0)
Apr 18 Python
python 叠加等边三角形的绘制的实现
Aug 14 Python
Python中生成一个指定长度的随机字符串实现示例
Nov 06 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
Dec 12 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 Python
python上下文管理的使用场景实例讲解
Mar 03 Python
Django中celery的使用项目实例
Jul 07 Python
使用pip安装python库的多种方式
Jul 31 #Python
python实现几种归一化方法(Normalization Method)
Jul 31 #Python
python Django编写接口并用Jmeter测试的方法
Jul 31 #Python
python实现windows倒计时锁屏功能
Jul 30 #Python
python创建属于自己的单词词库 便于背单词
Jul 30 #Python
python中append实例用法总结
Jul 30 #Python
简单了解django orm中介模型
Jul 30 #Python
You might like
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
Javascript 跨域访问解决方案
2009/02/14 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
div模拟选择框示例代码
2013/11/03 Javascript
JavaScript声明变量时为什么要加var关键字
2014/09/29 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
介绍一下grep命令的使用
2015/06/12 面试题
简历中个人自我评价范文
2013/12/26 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
小学数学教学反思范文
2016/02/16 职场文书
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android