2017-06-08 25 views
2

我在控制檯中運行腳本來幫助我完成重複任務。
我想在圖庫中打開圖像並從圖像中記下數字。不要關注Python子進程,linux

feh = subprocess.Popen(['feh', 'tmp.jpg']) 

print ("Input number from image:") 
number = input() 

feh.kill() 

此代碼的工作,但窗口管理器繼續關注feh,增加了重新調整控制檯窗口的額外步驟。我是否可以通過一個額外的參數來防止這種行爲或其他方式?

+0

您正在運行的Python腳本是否有自己的窗口?如果是這樣,使用哪個小部件集/圖形工具包? –

+0

@CharlesDuffy,OP說這個腳本是在一個控制檯中運行的,我假設,因爲這是Linux和X11,我們實際上是在談論一個終端窗口。 – eryksun

回答

1

一個骯髒的解決方法是簡單地通過鼠標重新調整窗口。

我用xdotool

feh = subprocess.Popen(['feh', 'tmp.jpg']) 

time.sleep(0.1) 
subprocess.call(['xdotool', 'click', '1']) 

something = input() 

feh.kill() 
2

Python有原生GUI組件,命名爲tkinter

如果是python,GUI程序恐怕很容易編寫。

#!/usr/bin/python2 -i 
from Tkinter import * 
from PIL import * 
import os 

files = [f for f in os.listdir('.') if f.endswith(".png")] 

root = Tk() 
label = Label(root) 
label.pack() 

for name in files: 
    im = PhotoImage(file=name) 
    label.config(image=im) 
    print("your number plz") 
    input_str = raw_input()