我正在编写一个将图像文件保存到桌面的脚本(所以" 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双击它?我也不想下载任何其他套餐。
感谢。
答案 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)
另请参阅以下选项: