从sikuli传递参数执行.py脚本

时间:2016-01-21 09:57:21

标签: python numpy jython sikuli

我有一个要在Sikuli中执行的代码,我想调用外部Python脚本来分析生成文件中的数据。

我直接尝试 导入 .py文件, subprocess.call(), subprocess.Popen() execfile()

我有两个主要问题:

  • 首先,我需要将一些参数传递给python脚本(特别是要分析[str]和测试号[int]的文件的路径)。
  • 其次,我的.py脚本使用Jython无法执行的 matplotlib.pyplot numpy 等库。

在尝试了我能想到的所有可能性之后,我已经迷失了。什么应该最好?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以将参数传递给Sikuli脚本,就像那样简单:

C:\Sikulix\runScript.cmd -r Tests\Test.sikuli --arg argVal

然后您可以像这样访问它:

print sys.argv[1]

其中1是参数的顺序,因为它们出现在命令行中。

您可以像这样使用execfile

execfile("C:\SikuliX\Tests\Test.py")
然而,问题是execfile运行Python文件by loading it而不是脚本。您只能传递变量绑定,而不能传递参数。

如果要从Python中运行程序,请使用subprocess.call。 E.g。

subprocess.call(['./abc.py', arg1, arg2])