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

