我想从Sikuli(r930)调用Python(2.7)脚本并使用脚本中的变量。下面是Python代码:我怎样才能导入一个Python脚本包含到Sikuli几个模块
import sys
import re
import os
import time
from pywinauto import application
from SendKeys import SendKeys
from cStringIO import StringIO
app=application.Application()
app.connect_(path=r'C:\Program Files\myApp\myApp.exe')
backup = sys.stdout
sys.stdout = StringIO()
app.dlg.print_control_identifiers()
out = sys.stdout.getvalue()
sys.stdout.close() # close the stream
sys.stdout = backup # restore original stdout
regex = re.compile(r'(\d{8}\s*\-\s*\d{8})')
found = re.search(regex, out)
print found.group(0) #pass this variable to Sikuli
我捕捉stdout
,因为这是Pywinauto'sprint_control_identifiers
方法返回(不是一个字符串)。另外,我需要使用Sikuli无法获得的GUI应用程序中的哈希序列号,因此需要使用Pywinauto。然而,当我尝试调用execfile()
从Sikuli,我得到的错误:
ImportError: no module named Pywinauto.
我阅读文档,我知道Sikuli(Jython的)可以包括Python模块和脚本。此外,我调用的外部.py文件在独立运行时运行成功。有人能告诉我,如果我错过了一步吗?我使用调用从Sikuli上面显示的.py文件
代码:
aScript = 'c:\\getHash_serial.py'
execfile(aScript)
嗨Suffa,请阅读与PIL模块相同的问题 - http://stackoverflow.com/questions/13488117/not-able-to-import-pil-in-sikuli?rq=1 – SWAPYAutomation 2013-03-27 13:31:15