【发布时间】:2016-05-29 07:22:13
【问题描述】:
此程序的目的是使用 Python 通过 GPIB 控制两个测量仪器。
Inst_A:由 CPython 和 PyVISA 控制(IronPython 中尚不可用)。
Inst_B:通过制造商提供的 DLL 库控制; IronPython 及其__import clr__
我尝试过 Python .NET,但返回文件未找到异常,而相同的命令在 IronPython 中有效。会不会和this?有关
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import clr
>>> clr.AddReference('QDInstrument')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
System.IO.FileNotFoundException: Unable to find assembly 'QDInstrument'.
at Python.Runtime.CLRModule.AddReference(String name)
目前,inst_b.py 将在 IronPython 下运行,并在循环中重复执行新的 Python 实例以及 inst_a.py 中的几个参数。
有没有办法让 inst_a.py 在整个采集过程中保持活跃,并能够从 inst_b.py 接收输入数据?在某种意义上像一个听众?
操作系统版本:Windows 7 Professional SP1 amd64
Python 版本:3.5.1
Python .NET 版本:2.1.0(来自 pip)
谢谢你,
保罗。
【问题讨论】:
-
你能用 pythonnet 发布你失败的代码吗?您仍然可以通过设置 app.config 来使用来自 pythonnet 的 .NET 2.0+ dll。你用的是哪个版本的pythonnet?如果你最终使用的是 ironpython,那么尝试 execnet 与 CPython 进行通信。
-
这里是如何设置app.config:stackoverflow.com/a/37493025/2230844
-
对于前者:.NET 4 DLL 当然可以由 python.net 控制,所以你的问题是别的问题,可以作为一个单独的问题。
-
感谢您的回复。我编辑了原始问题以进行澄清和 Python .NET 异常。
-
好吧,问题是 import os;导入系统; sys.path.append(os.path.dirname("file")) 解决了这个问题。谢谢 denfromufa!
标签: python .net ironpython measurement python.net