在VS2017中用C#調(diào)用python腳本的實(shí)現(xiàn)
情景是這樣的:在C#中調(diào)用python腳本進(jìn)行post請(qǐng)求,python腳本中使用了requests包。
Python的開發(fā)環(huán)境我們有比較多的選擇,pycharm、sublime text等等。但是作為.net平臺(tái)的Python語(yǔ)言ironPython,可以和C#交互,讓編程更活泛。
ironPython本身其實(shí)就是一個(gè)python的開發(fā)環(huán)境,我的電腦上還裝有python2.7和pycharm,開始的時(shí)候使用pycharm寫的,本來(lái)的想法是用VS直接調(diào)用就可以了。但是后來(lái)才明白這三者的關(guān)系。
pycharm起到的左右就是一個(gè)純編輯器的作用。在VS里面加載了寫的.py文件之后,相當(dāng)于把這個(gè).py文件內(nèi)部的代碼,直接用ironpython解析一遍。
所以,pycharm中所寫的import requests(或者其他的,只要不是自身支持的)都會(huì)報(bào)錯(cuò)!出現(xiàn)module' object has no XXXX
現(xiàn)在回想一下,在pycharm中也不是直接import就ok,也是先需要安裝先從菜單欄找到安裝第三方庫(kù)的地方安裝完了之后,才能import。
所以需要在ironpython中執(zhí)行等效的操作。
下面說(shuō)明python中的sys模塊:sys模塊提供了一系列有關(guān)Python運(yùn)行環(huán)境的變量和函數(shù)。
sys.path
path是一個(gè)目錄列表,供Python從中查找第三方擴(kuò)展模塊。在python啟動(dòng)時(shí),sys.path根據(jù)內(nèi)建規(guī)則、PYTHONPATH變量進(jìn)行初始化。
在iron python中默認(rèn)的sys.path是ironpython的安裝路徑下的lib,而之前用pycharm安裝的庫(kù)是安裝在了python2.7的lib中。
所以要在文件的開頭加上
import sys sys.path.append(r'C:\Python27\Lib') #r是禁止轉(zhuǎn)義字符
這樣之后,ironpython就可以順著sys新增的這個(gè)path找到庫(kù)了。
在這些操作中,我感觸最深的是,要想弄清楚這些問題,不是要到網(wǎng)上去找代碼復(fù)制粘貼,而是專注于理解面對(duì)的是什么問題,每個(gè)問題的對(duì)象之間的邏輯關(guān)系是什么,從而找出來(lái)哪里邏輯錯(cuò)了,找出來(lái)問題出在哪里,對(duì)癥下藥,才能又快又好的解決問題。無(wú)頭蒼蠅一般的不斷的轉(zhuǎn)換方法,尋找盡可能現(xiàn)成的代碼,終究是浪費(fèi)時(shí)間,就算是找到了代碼,最后也是一無(wú)所獲,等問題稍微變變樣子,就蒙蔽了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談python中對(duì)于json寫入txt文件的編碼問題
今天小編就為大家分享一篇淺談python中對(duì)于json寫入txt文件的編碼問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
TensorFlow2中提供的幾種處理特征列的方法小結(jié)
本文主要介紹了TensorFlow2中提供的幾種處理特征列的方法小結(jié),主要介紹了6種方式,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
Python TKinter如何自動(dòng)關(guān)閉主窗口
這篇文章主要介紹了Python TKinter如何自動(dòng)關(guān)閉主窗口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Python+wxPython實(shí)現(xiàn)一個(gè)簡(jiǎn)單的音樂播放器
這篇文章主要為大家詳細(xì)介紹了如何使用Python編程語(yǔ)言和wxPython模塊創(chuàng)建一個(gè)簡(jiǎn)單的音樂播放器,文中的示例代碼講解詳細(xì),感興趣的可以了解下2023-09-09
使用Python實(shí)現(xiàn)圖片和base64轉(zhuǎn)換工具
這篇文章主要為大家詳細(xì)介紹了如何使用Python中的base64模塊編寫一個(gè)工具,可以實(shí)現(xiàn)圖片和Base64編碼之間的轉(zhuǎn)換,感興趣的小伙伴可以了解下2025-02-02
Python+opencv+pyaudio實(shí)現(xiàn)帶聲音屏幕錄制
今天小編就為大家分享一篇Python+opencv+pyaudio實(shí)現(xiàn)帶聲音屏幕錄制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
Django如何判斷訪問來(lái)源是PC端還是手機(jī)端
這篇文章主要介紹了Django如何判斷訪問來(lái)源是PC端還是手機(jī)端問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05

