在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实现倒计时的示例
Feb 14 Python
Python with用法实例
Apr 14 Python
python中reduce()函数的使用方法示例
Sep 29 Python
Python+PyQt5实现美剧爬虫可视工具的方法
Apr 25 Python
python代码打印100-999之间的回文数示例
Nov 24 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
Python中 Global和Nonlocal的用法详解
Jan 20 Python
Python request操作步骤及代码实例
Apr 13 Python
python 下划线的不同用法
Oct 24 Python
Python 利用argparse模块实现脚本命令行参数解析
Dec 28 Python
matplotlib绘制多子图共享鼠标光标的方法示例
Jan 08 Python
手把手教你用Django执行原生SQL的方法
Feb 18 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类的反射用法实例
2014/11/03 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
jquery1.4.2 for Visual studio 2010 模板文件
2010/07/14 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
[00:11]战神迅矛
2019/03/06 DOTA
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
pandas中的DataFrame按指定顺序输出所有列的方法
2018/04/10 Python
python递归全排列实现方法
2018/08/18 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
Pycharm安装python库的方法
2020/11/24 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
大学生物业管理求职信
2013/10/24 职场文书
毕业设计计划书
2014/01/09 职场文书
论文评语大全
2014/04/29 职场文书
社区禁毒工作方案
2014/06/02 职场文书
合同权益转让协议书模板
2014/11/18 职场文书
东京审判观后感
2015/06/01 职场文书
人民的好儿女观后感
2015/06/18 职场文书
《走遍天下书为侣》教学反思
2016/02/22 职场文书
HAM-2000摩机图
2021/04/22 无线电
MySql分区类型及创建分区的方法
2022/04/13 MySQL