在Python中传递Labview DLL的路径

时间:2015-02-03 23:40:45

标签: python dll ctypes labview

我从这里开始提出问题,但意识到可能需要在Labview论坛上回答。

所以,我有一个在Labview中创建的DLL,我通过Python 3.3.3访问它。我知道我正在正确访问它,因为我已经能够访问其中的几个功能。但是,当我尝试将路径传递给我遇到问题的文件时,我遇到了问题。

以下是.h文件中的函数调用详细信息,它是在创建DLL时创建的:

/*!
* ClockInit
*/
int32_t __cdecl ClockInit(uint32_t HandleIn, char fileUseDialog[]);

以下是我用来调用函数的Python代码段:

import os, sys, time
from ctypes import *
ftdi=cdll.LoadLibrary('C:\\Python33\\DLLs\\Savlo16FF_DLL_old\\Salvo16FF DLL\\Salvo16FF.dll')

FPGA_DeviceHandle=c_ulong(0)
Status=ftdi.FPGAInit(byref(FPGA_DeviceHandle))

path="C:/Python33/Scripts/RegisterMap_100M_1p8HCSL.txt"
ftdi.ClockInit(FPGA_DeviceHandle,path)

以下是我从Labview回来的错误:

http://i.stack.imgur.com/PTz61.png

我能说的最好的是我没有正确地将路径传递给函数。我尝试了很多不同的变化(将'/'更改为'\',尝试使用create_string_buffer),但无济于事。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

斜杠在路径变量中以另一种方式评估为“非路径”,正如上面正确指出的那样,python3需要使用“b”前缀。