【问题标题】:How to receive/fetch arguements in Sikuli如何在 Sikuli 中接收/获取参数
【发布时间】:2015-04-19 02:22:22
【问题描述】:

如何在 Sikuli 中传递参数?

PATH-TO-SIKULI/sikuli-ide.exe -r xxxx.sikuli --args a1 a2 a3

我是如何传递参数的。

如何在我的 Sikuli 脚本中接收它们?

【问题讨论】:

    标签: command-line jython sikuli


    【解决方案1】:

    感谢 cpburnz,我能够发送和接收争论。

    import sys.argv
    sys.argv[1]
    sys.argv[2]
    sys.argv[3]
    

    我将脚本运行为:

    D:\Sikuli\Sikuli\runIDE.cmd -r D:\sikuli_test.sikuli --args arg1 arg2 arg3  
    

    它成功了。

    【讨论】:

      【解决方案2】:

      根据How to run Sikuli from Command Line

      --args <arguments>

      指定传递给 Jython 的 sys.argv 的参数

      这意味着您可以从sys.argv 访问参数。例如,

      import sys
      
      args = sys.argv[1:]
      

      注意第一个参数argv[0]是脚本的名字,可以忽略。以下所有参数argv[1:] 都是您指定的参数。

      【讨论】:

      • 我正在运行这样的脚本:runIDE.cmd -r D:\sikuli_test.sikuli -- arg1 我收到以下错误:[error] script stop with error in line 5 [error] TypeError ( type(): 第一个 arg 不能被强制转换为 String )
      • @Mayank 你在运行 Sikuli 还是 SikuliXSikuli 使用 --args <args> 形式,而 SikuliX 使用 -- <args> 形式。
      • @Mayank 查看TypeError ( type(): 1st arg can't be coerced to String ),看起来此错误与从命令行传递参数无关。您应该提出一个新问题,包括错误、产生错误的 sikuli 脚本以及用于运行该脚本的命令行。
      • 我正在使用 Sikuli,我收到一条错误消息,上面写着“没有名为 argparse 的模块”)是否可以在 Sikuli 中获取争论?
      • @Mayank 在这种情况下,您必须直接使用sys.argvargparse 是在 Python 2.7 中添加的。那时您必须运行 Jython 2.5 或更高版本。查看我的更新。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      • 2023-04-05
      • 2016-09-06
      • 2019-10-20
      • 2023-03-25
      • 2014-03-04
      相关资源
      最近更新 更多