在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+mysql实现简单的web程序
Sep 11 Python
python脚本设置超时机制系统时间的方法
Feb 21 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
Mar 21 Python
python统计多维数组的行数和列数实例
Jun 23 Python
Python 中字符串拼接的多种方法
Jul 30 Python
Python3的介绍、安装和命令行的认识(推荐)
Oct 20 Python
python3.6数独问题的解决
Jan 21 Python
python3 requests库文件上传与下载实现详解
Aug 22 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Python3.7 pyodbc完美配置访问access数据库
Oct 03 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
Oct 14 Python
django执行原始查询sql,并返回Dict字典例子
Apr 01 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实现微信公众号无限群发
2015/10/11 PHP
PHP递归的三种常用方式
2019/02/28 PHP
Js 本页面传值实现代码
2009/05/17 Javascript
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
2014/07/18 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
javascript求日期差的方法
2016/03/02 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
python根据距离和时长计算配速示例
2014/02/16 Python
Python selenium文件上传方法汇总
2020/11/19 Python
pygame加载中文名mp3文件出现error
2017/03/31 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
python人民币小写转大写辅助工具
2018/06/20 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
详解python statistics模块及函数用法
2019/10/27 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
开业庆典邀请函
2014/01/08 职场文书
劲霸男装广告词改编版
2014/03/21 职场文书
业务员自荐信范文
2014/04/20 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
乡镇保密工作责任书
2014/07/28 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
2014年终个人总结报告
2015/03/09 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
初中历史教学反思
2016/02/19 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书