2017-05-13 6 views
0

私は2つの関数、screenshot()reader()を持っています。 0を押すとscreenshot()が呼び出され、1を押すとreader()が呼び出されます。 dを押すと終了します。これは私が試した方法です:Pythonで異なるキーを押すと異なるPython関数を呼び出す

from PIL import Image 
import pyscreenshot as ImageGrab 
import datetime 
import time 
import os 
import pyperclip 

def screenshot(): 
    if __name__ == "__main__": 
     im=ImageGrab.grab() 
     timestr = time.strftime("%Y%m%d-%H%M%S") 
     file_name = "sample_" + timestr + ".png" 
     file_location = os.path.join('/path', file_name) 
     im.save(file_location) 

def reader(): 
    pyperclip.copy("sample") 

while True: 
    x = raw_input('Press enter for a random letter...') 
    print x 
    if x == "0": 
     screenshot() 

    if x == "1": 
     reader() 

    if x == "d": 
     break 

しかし、期待どおりに動作していません。 0を押すと、何も起こりません。 1を押すと、何も起こりません。しかし、dを初めて押すと、screenshot()が呼び出されます。次回にdを押すと、終了します。

+0

これらのif文のうち2つをelif文に変更します(それ以外の場合はエラーを発生させます)。 – mikey

答えて

0

この行を削除しますif __name__ == "__main__":。 reader()が動作していますが、それはどのように動作するのでしょうか? sampleテキストをコピーして、テキストエディタに貼り付けてみてください。

関連する問題