在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之关于循环的小伎俩
Oct 02 Python
使用相同的Apache实例来运行Django和Media文件
Jul 22 Python
Python文件与文件夹常见基本操作总结
Sep 19 Python
浅谈python字典多键值及重复键值的使用
Nov 04 Python
Python利用递归和walk()遍历目录文件的方法示例
Jul 14 Python
使用Python和xlwt向Excel文件中写入中文的实例
Apr 21 Python
Python爬虫实现简单的爬取有道翻译功能示例
Jul 13 Python
对python使用telnet实现弱密码登录的方法详解
Jan 26 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
Aug 27 Python
Pycharm安装并配置jupyter notebook的实现
May 18 Python
PyCharm 解决找不到新打开项目的窗口问题
Jan 15 Python
python开发实时可视化仪表盘的示例
May 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 object转数组示例
2014/01/15 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
纯js分页代码(简洁实用)
2013/11/05 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
理解javascript模块化
2016/03/28 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
Javasript设计模式之链式调用详解
2018/04/26 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
2018/09/07 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
python判断完全平方数的方法
2018/11/13 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
如何查看python关键字
2021/01/17 Python
社会治安综合治理管理责任书
2014/04/16 职场文书
禁毒宣传标语
2014/06/19 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
环保建议书作文400字
2015/09/14 职场文书
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL