繁体   English   中英

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

[英]Execute .py script from sikuli passing arguments

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

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

我有两个主要问题:

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

在尝试了所有可能的方法之后,我已经迷失了。 什么应该最有效? 先感谢您。

您可以像这样简单地将参数传递到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文件。 您只能传递变量绑定,不能传递参数。

如果要从Python内部运行程序,请使用subprocess.call。 例如

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM