在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打开网页和暂停实例
Sep 30 Python
Android应用开发中Action bar编写的入门教程
Feb 26 Python
Python3实现对列表按元组指定列进行排序的方法分析
Dec 22 Python
python 实现得到当前时间偏移day天后的日期方法
Dec 31 Python
Python实现去除列表中重复元素的方法总结【7种方法】
Feb 16 Python
Python DataFrame一列拆成多列以及一行拆成多行
Aug 06 Python
jenkins配置python脚本定时任务过程图解
Oct 29 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
详解python常用命令行选项与环境变量
Feb 20 Python
Python中os模块功能与用法详解
Feb 26 Python
python用TensorFlow做图像识别的实现
Apr 21 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 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调用三种数据库的方法(1)
2006/10/09 PHP
dedecms中常见问题修改方法总结
2007/03/21 PHP
php下连接mssql2005的代码
2011/01/17 PHP
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
2016/09/11 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
javascript读取RSS数据
2007/01/20 Javascript
syntaxhighlighter 使用方法
2007/07/02 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
jQuery实现手机号码输入提示功能实例
2015/04/30 Javascript
基于jQuery实现的QQ表情插件
2015/08/25 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
2015/11/26 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
Python 可爱的大小写
2008/09/06 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
Python递归实现打印多重列表代码
2020/02/27 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
毕业自我鉴定范文
2013/11/06 职场文书
大学生写自荐信的技巧
2014/01/08 职场文书
个人安全生产责任书
2014/07/28 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书