我在计算机上运行sikuli脚本,可以自动为我的某些乐器采集数据。我最近安装了PyVisa,我可以使用python连接并与我的乐器进行通信,没有任何问题。有没有办法可以在sikuli中导入Visa模块并使用它与我在python中的方式进行通信?
答案 0 :(得分:0)
Sikuli使用Jython来运行。纯Python代码将(几乎总是)正常工作,但具有本机C代码的Python代码将无法工作。我不熟悉PyVISA,但它看起来像纯Python,所以我试试看。
你需要把PyVISA放在Jython看起来的地方。看看Jython documentation。
答案 1 :(得分: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)