我使用这个python function使用python脚本打开图片:
import os
class ReadPicture:
def readPicture(self):
os.startfile('picture.jpg')
if __name__=='__main__':
RP.ReadPicture()
RP.readPicture()
使用Windows上的默认应用程序打开图像。你现在可以告诉我如何关闭打开的图片?谢谢你的任何建议。
为什么我不使用PIL?因为它不能做我想做的事:
当未指定操作或“打开”时,此操作如下 双击Windows资源管理器中的文件
是的,我想以双击行为打开图片。
答案 0 :(得分:1)
我认为这是不可能的。 os.startfile()
不返回任何内容,因此您无法找到启动的进程(有时,Windows可能会重用现有进程,因此终止进程会失去工作量。)
如果您希望能够使用图像关闭窗口,则需要使用PIL之类的框架加载图像,然后编写自己的UI以使用Tkinter或PyQt
另一种方法是查看pywin32,它可以让您访问Windows API。有了它,您可以在Python中重新实现os.startfile()
。这样,您可以更好地控制子进程。
相关:
答案 1 :(得分:0)
#008_py_process_kill_proc_cmdline_dispaly
import os
pidl=[pid for pid in os.listdir('/proc') if pid.isdigit()]
print(pidl[-10:]) # pid_list recent 10 process from/proc directory
cnt=0
for pid in pidl:
path_and_file_=os.path.join('/proc/', pid, 'cmdline')
print(path_and_file)
cmdf=open(path_and_file)
cmdl=cmdf.readline() #read first one line in cmdline-file
print('pid=',pid, 'cmdline=', cmdl)
if(len(cmdl)>=6):
if(cmdl[0]=='d' and cmdl[1]=='i'): # 'disply' image show() name
os.system('kill -9 '+ pid)
cnt +=1
print('killed total= %d'%cnt)