使用Sikuli / Jython打开图像文件而不点击

时间:2014-12-26 17:08:37

标签: python jython sikuli

我正在编写一个将图像文件保存到桌面的脚本(所以" image.JPG")。这样做之后,我想打开图像文件,使其显示在屏幕上。我一直在尝试使用子流程(我没有经验),但似乎无法让它工作。

import subprocess
subprocess.Popen("C:/Users/first.last/Desktop/image.JPG")

但是,这会导致以下错误:

[error] OSError ( Cannot run program "C:/Users/sean.sheehan/Desktop/image.JPG" (in directory "C:\SikuliX"): CreateProcess error=193, %1 is not a valid Win32 application )

我假设这是因为它是一个文件而不是一个应用程序(也许我必须打开一个允许你查看图像的应用程序?)

那么,有没有办法在sikuli / jython / python中打开一个图像文件而不必用sikuli双击它?我也不想下载任何其他套餐。

感谢。

1 个答案:

答案 0 :(得分:1)

如果是普通的Python,你可以使用os.startfile()

  

使用相关应用程序启动文件。

import os

filename = "C:/Users/first.last/Desktop/image.JPG"
os.startfile(filename)

但是,问题在于Python中存在的东西(基于C的功能),但在Jython中缺失。而os.startfile()就是其中之一。

subprocess.call()应该在Jython中运行:

import subprocess

filename = "C:/Users/first.last/Desktop/image.JPG"
subprocess.call('start ' + filename)

另请参阅以下选项: