0

我在一台计算机上运行 sikuli 脚本,它可以为我的一些仪器自动采集数据。我最近安装了 PyVisa,我能够使用 python 与我的仪器进行连接和通信,没有任何问题。有没有办法可以在 sikuli 中导入 Visa 模块并使用它与我的仪器进行通信,就像我在 python 中一样?

4

2 回答 2

0

我试图将 Python 库:jenkinsapi 导入 Jython Sikuli 环境。经过多次尝试将两者结合起来,我想出的最佳解决方案涉及以下内容:

从您的 Sikuli 编辑器中导入操作系统,并定义一个函数来运行无法导入 Jython 的代码。

import os

def installBuild():
    os.system("C:\\Users\\time\\Desktop\\FDSmokeTest\\fdoc_build.py")

Python 能够访问 jenkinsapi 但 Jython 不能,创建一个简单的 Python 文件,然后让您的 Sikuli Jython 代码执行系统调用来运行 Python。

from jenkinsapi.jenkins import *
import os
import unittest
import sys
from subprocess import call

def getSCMInfroFromLatestGoodBuild(url, jobName, username=None, password=None):
    print "Getting Latest Good Build: http://addresstoourjenkins.com:9087 Job: Daily_Windows"
    J = Jenkins(url, username, password)
    job = J[jobName]
    lgb = job.get_last_good_build()
    print "Latest Good Daily Windows Build: " + str(lgb)
    return lgb

def installBuild(buildnum):
    print "Installing " + buildnum + " wait a few minutes while installation completes"
    os.system("C:\Users\time\Desktop\FDSmokeTest\install.bat " + buildnum)

if __name__ == '__main__':
    temp = getSCMInfroFromLatestGoodBuild('http://addresstoourjenkins.com:9087', 'Daily_Windows')
    buildnum=str(temp).replace('Daily_Windows ', '')
    installBuild(buildnum)
于 2014-06-02T21:22:54.253 回答
0

Sikuli 使用 Jython 运行。纯 Python 代码将(几乎总是)正常工作,但带有本机 C 代码的 Python 代码将无法工作。我不熟悉 PyVISA,但它看起来像纯 Python,所以我会尝试一下。

您需要将 PyVISA 放在 Jython 看起来的某个地方。查看Jython 文档

于 2013-08-14T04:27:19.077 回答