在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动态加载模块的3种方法
Nov 22 Python
以一个投票程序的实例来讲解Python的Django框架使用
Feb 18 Python
python密码错误三次锁定(实例讲解)
Nov 14 Python
windows下安装Python的XlsxWriter模块方法
May 03 Python
java中两个byte数组实现合并的示例
May 09 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
Jun 07 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
Dec 05 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
python groupby 函数 as_index详解
Dec 16 Python
django修改models重建数据库的操作
Mar 31 Python
解析Python 偏函数用法全方位实现
Jun 26 Python
python通过函数名调用函数的几种场景
Sep 23 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下将XML转换为数组
2010/01/01 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
php简单smarty入门程序实例
2015/06/11 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
php验证码实现代码(3种)
2015/09/07 PHP
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
jQuery Validate插件实现表单强大的验证功能
2015/12/18 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
举例介绍Python中的25个隐藏特性
2015/03/30 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
澳大利亚音乐商店:Bava’s Music City
2019/05/05 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
外语专业毕业生自我评价分享
2013/10/05 职场文书
员工薪酬福利制度
2014/01/17 职场文书
新学期班主任寄语
2014/01/18 职场文书
学校联谊活动方案
2014/02/15 职场文书
产品推广策划方案
2014/05/10 职场文书
给学校建议书范文
2014/05/13 职场文书
团队队名口号大全
2014/06/06 职场文书
公司离职证明标准范本
2014/10/05 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python
JavaScript流程控制(循环)
2021/12/06 Javascript