【问题标题】:Execute .py script from sikuli passing arguments从 sikuli 传递参数执行 .py 脚本
【发布时间】:2016-01-21 09:57:20
【问题描述】:
我有一个要在 Sikuli 中执行的代码,我想调用一个外部 Python 脚本来分析生成文件中的数据。
我尝试过直接导入 .py 文件,subprocess.call(), subprocess.Popen() 和 execfile()
我有两个主要问题:
- 首先,我需要将一些参数传递给 python 脚本(特别是要分析的文件的路径 [str] 和测试编号 [int])。
- 其次,我的 .py 脚本使用了 Jython 无法执行的库,例如 matplotlib.pyplot 或 numpy。
在尝试了我能想到的所有可能性之后,我已经迷失了。什么应该最有效?提前谢谢你。
【问题讨论】:
标签:
python
numpy
jython
sikuli
【解决方案1】:
您可以像这样简单地将参数传递给 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。例如
subprocess.call(['./abc.py', arg1, arg2])