最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python調(diào)用.net動態(tài)庫實(shí)現(xiàn)過程解析

 更新時(shí)間:2020年06月05日 11:26:30   作者:jiftle  
這篇文章主要介紹了Python調(diào)用.net動態(tài)庫實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

pythonnet簡介

  • pythonnet是cpython的擴(kuò)展
  • pythonnet提供了cpython和.net程序集之間交互的橋梁
  • pythonnet開源在github上

pythonnet安裝

通過pip install pythonnet安裝

pythonnet的使用幫助

pythonnet的使用幫助,請參見github.

pythonnet中的坑

cpython是分32和64位的,對應(yīng)的pythonnet也是分的,版本要對應(yīng)好
pythonnet最核心的就是python.Runtime.dll動態(tài)庫,這個(gè)庫是c#編寫的實(shí)現(xiàn)了兩種語言的交互

ref類型的參數(shù)如何返回

  • 返回值的第一個(gè)元素是c#的返回值
  • 返回值的第二個(gè)元素就是ref的值了,ref String[] 對應(yīng)的返回值第二個(gè)元素就是元組tuple

如何加載動態(tài)庫

# clr是公共運(yùn)行時(shí)環(huán)境,該模塊是與c#交互的核心
import clr
import sys
# 導(dǎo)入clr時(shí)這個(gè)模塊最好也一起導(dǎo)入,這樣可用使用AddReference()方法
import System

# input()

from System import Array
from System import String

# 打印當(dāng)前.net運(yùn)行時(shí)的版本
print(System.Environment.Version)

# 打印當(dāng)前的環(huán)境變量
print('---------------------')
for p in sys.path:
  print(p)
print('---------------------')

# 加載動態(tài),不要帶動態(tài)庫的后綴名,如果d=None,表示動態(tài)庫沒有找到
d = clr.FindAssembly('YctxKj.Card.Interpreter')
print(d)
# from后面跟的是動態(tài)庫的名字,不是命名空間
from YctxKj.Card.Interpreter import *
d = clr.FindAssembly('YctxKj.Card.CardReader')
print(d)
from YctxKj.Card import CardReader

# 打印程序集,如果動態(tài)庫加載成功,程序集里就會含有動態(tài)庫的程序集
lt = clr.ListAssemblies(False)

for i in range(lt.Length):
  print('%d = %s' % (i,lt[i]))

ret = 0

# 程序調(diào)用業(yè)務(wù)代碼
_reader = CardReader()
_Interpreter = ScriptInterpreter()
_Interpreter._reader = _reader
_Interpreter.Init();

ret = _Interpreter.SetKeyMode(305)
print('ret=%d' % ret)

arCarder = ''

# input() 可以程序暫停,然后使用vs附加進(jìn)程python.exe調(diào)試
# input()
ret = _reader.ListReader(arCarder);
print('ret = %d' % ret[0])
print('ref param string[] length = %d' % ret[1].Length)
if ret[1].Length > 0:
  items = ret[1]

  for t in items:
    print(t)
else:
  print('don\'t find cardreader dev')
  exit()

# 鏈接讀卡器
strReader = items[1]
strATR = ''
nRet = _reader.Connect(strReader, strATR)
if nRet[0] != 0:
  print('connect card fail, nRet=%d' % nRet[0])
  _reader.Beep()
  _reader.Beep()
  exit()

print('crd connect successed,atr=%s' % nRet[1])
_reader.Beep()
# 斷開讀卡器
_reader.Disconnect()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中如何優(yōu)雅的合并兩個(gè)字典(dict)方法示例

    Python中如何優(yōu)雅的合并兩個(gè)字典(dict)方法示例

    字典是Python語言中唯一的映射類型,在我們?nèi)粘9ぷ髦薪?jīng)常會遇到,下面這篇文章主要給大家介紹了關(guān)于Python中如何優(yōu)雅的合并兩個(gè)字典(dict)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • pygame學(xué)習(xí)筆記(3):運(yùn)動速率、時(shí)間、事件、文字

    pygame學(xué)習(xí)筆記(3):運(yùn)動速率、時(shí)間、事件、文字

    這篇文章主要介紹了pygame學(xué)習(xí)筆記(3):運(yùn)動速率、時(shí)間、事件、文字,本文講解了運(yùn)動速率、事件、字體及字符顯示等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • 理想高通濾波實(shí)現(xiàn)Python opencv示例

    理想高通濾波實(shí)現(xiàn)Python opencv示例

    今天小編就為大家分享一篇關(guān)于理想高通濾波實(shí)現(xiàn)Python opencv示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Tkinter組件Entry的具體使用

    Tkinter組件Entry的具體使用

    本文主要介紹了Tkinter組件Entry的具體使用,Entry組件通常用于獲取用戶的輸入文本,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python中字符串最常用的十三個(gè)處理操作記錄

    python中字符串最常用的十三個(gè)處理操作記錄

    這篇文章主要給大家介紹了關(guān)于python中字符串最常用的13個(gè)處理操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • PyCharm如何配置SSH和SFTP連接遠(yuǎn)程服務(wù)器

    PyCharm如何配置SSH和SFTP連接遠(yuǎn)程服務(wù)器

    這篇文章主要介紹了PyCharm如何配置SSH和SFTP連接遠(yuǎn)程服務(wù)器,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python異步Web框架sanic的實(shí)現(xiàn)

    python異步Web框架sanic的實(shí)現(xiàn)

    這篇文章主要介紹了python異步Web框架sanic的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python實(shí)發(fā)郵件實(shí)例詳解

    python實(shí)發(fā)郵件實(shí)例詳解

    在本篇文章里小編給大家整理的是關(guān)于python實(shí)發(fā)郵件的相關(guān)知識點(diǎn)內(nèi)容,有需要的朋友們學(xué)習(xí)下。
    2019-11-11
  • python如何運(yùn)行js語句

    python如何運(yùn)行js語句

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python如何運(yùn)行js語句的相關(guān)內(nèi)容,有興趣的朋友們可以參考下。
    2020-09-09
  • Python3標(biāo)準(zhǔn)庫之functools管理函數(shù)的工具詳解

    Python3標(biāo)準(zhǔn)庫之functools管理函數(shù)的工具詳解

    functools模塊提供的主要工具就是partial類,可以用來“包裝”一個(gè)有默認(rèn)參數(shù)的callable對象。這篇文章主要介紹了Python3標(biāo)準(zhǔn)庫functools管理函數(shù)的工具的實(shí)例詳解,需要的朋友可以參考下
    2020-02-02

最新評論

三明市| 都江堰市| 两当县| 大连市| 额尔古纳市| 宝应县| 雅安市| 昭通市| 阿拉尔市| 叙永县| 肇东市| 突泉县| 于田县| 灌阳县| 嵊州市| 如东县| 千阳县| 洛南县| 德化县| 巴中市| 麻栗坡县| 虞城县| 田林县| 新巴尔虎右旗| 扬州市| 金塔县| 和平区| 高碑店市| 鹤壁市| 莎车县| 连云港市| 江北区| 南通市| 台江县| 肥城市| 辛集市| 比如县| 凌源市| 河西区| 巴中市| 永城市|