在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 29 Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 Python
详解tensorflow实现迁移学习实例
Feb 10 Python
Python 加密与解密小结
Dec 06 Python
Python中py文件转换成exe可执行文件的方法
Jun 14 Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 Python
python画蝴蝶曲线图的实例
Nov 21 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
Mar 10 Python
用 python 进行微信好友信息分析
Nov 28 Python
python多线程方法详解
Jan 18 Python
Python Django / Flask如何使用Elasticsearch
Apr 19 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中防止SQL注入最好的方法是什么
2013/06/10 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
PHP读取大文件的类SplFileObject使用介绍
2014/04/09 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
[02:15]2014DOTA2国际邀请赛 赛后退役选手回顾
2014/08/01 DOTA
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
高中生毕业自我鉴定
2013/10/10 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
党员承诺书怎么写
2014/05/20 职场文书
公司外出活动方案
2014/08/14 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
股东大会通知
2015/04/24 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS