IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> pythonnet 3.0版本 安装和使用第三方C# DLL库。 -> 正文阅读

[Python知识库]pythonnet 3.0版本 安装和使用第三方C# DLL库。

使用的 pythonnet 为尚在测试的 3.0 版本。该版本直接舍弃了一大堆依赖,安装非常简单。
这个pythonnet据说在windows和linux都可以正常使用,当前我只在windows上测试,linux上有空再试

# 当前最新(截止至2022/3/29)的预发行版本
pip install pythonnet==3.0.0a2

3.0.0 版本不再限定某个 python 3.X 版本,而是全部 python 3.X 版本都可以直接安装。
因为自3.0.0版本开始,pythonnet 把对 C# 的依赖全都变成了动态依赖于系统的 Net库,而不是再封装到wheel里面。

简单的基于pythonnet 导入第三方库的DLL和使用第三方库方法的示例。

import sys
import os

# 把第三方C#库的DLL所在的文件夹包含到 sys.path 路径列表里面
# 一定要把第三方DLL的所有第三方子依赖DLL的文件夹都弄进去,不然后面会导入失败
# 或者把这些DLL都丢在执行的py文件所在目录,那也没问题,这样可以省去该步。
sys.path.append(os.path.dirname(__file__)+'/dll')

import pythonnet
import clr
from System import String
from System.IO import SeekOrigin
from System.IO import MemoryStream
from System.Collections import *

# 导入第三方C#库
# 我的 DLL 的名称是 IC.SlideServices.FileFormat.Tronmedi.Common.dll
# 所以导入名称为 IC.SlideServices.FileFormat.Tronmedi.Common
# 不需要包含 .dll 后缀,也不需要包含它所在的文件夹
# 注意,如果目标DLL缺少没找到某些子依赖DLL,该步不会报错,但会在下一步导入时提示找不到对应的命名空间,这个十分坑爹,很难查错。
clr.AddReference("IC.SlideServices.FileFormat.Tronmedi.Common")

# 从第三方C#库中导入类 TronArchive
# 该步有时报错找不到某些子依赖DLL,这个还好,可以手动添加
# 有时报错指定的命名空间不存在,这个就很坑爹,很难查
from IC.SlideServices.FileFormat.Tronmedi import TronArchive

# 使用该类打开文件
arc = TronArchive(r'C012.tron')

# 随便打印一些信息
print(arc.Metadata.Name)
print(arc.Metadata.Version)
print(arc.Metadata.MaximumZoomLevel)
print(arc.Metadata.VerticalResolution)
print(arc.Metadata.HorizontalResolution)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:19:14  更:2022-03-30 18:19:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:26:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码