windows '系统.IO.文件未找到异常:在Python上的clr库中找不到程序集

amrnrhlw  于 2022-12-14  发布在  Windows
关注(0)|答案(2)|浏览(137)

我在一个.dll文件中使用的代码中遇到了一个汇编错误。这是一个template code from another thread,很多人声称它工作正常。

import clr
import os
file = 'CPUThermometerLib.dll'
print('Does this filepath exist?',os.path.isfile(file)) 
clr.AddReference(file)

我猜文件路径没有问题,因为它在.isfile函数上返回true。下面是我得到的输出:

Does this filepath exist? True
  File "<stdin>", line 1, in <module>
System.IO.FileNotFoundException: Unable to find assembly 'CPUThermometerLib.dll'.
   at Python.Runtime.CLRModule.AddReference(String name)

我已经检查了多个线程,没有一个给出解决方案。我使用的是Windows 10,而且,我的.NET框架版本是“4. 0. 30319. 42000”。我的笔记本电脑处理器是Atom Z3537F。

fjnneemd

fjnneemd1#

clr模块在Windows python安装时默认不安装,你需要在提示符下运行pip install clr来添加它,然后你的代码就可以正确导入它了。

nwo49xxi

nwo49xxi2#

您需要提供dll文件的完整路径,而不仅仅是文件名。
如果dll文件与Python脚本位于同一目录中,则可以使用os.path.abspath('CPUThermometerLib.dll')获取完整路径。
完整代码:

import clr
import os
file = 'CPUThermometerLib.dll'
print('Does this filepath exist?', os.path.isfile(file)) 
clr.AddReference(os.path.abspath(file))

相关问题