【问题标题】:Calling different python functions with different key press in python在python中使用不同的按键调用不同的python函数
【发布时间】:2017-05-13 14:49:15
【问题描述】:

我有两个函数:screenshot()reader()。我希望在按下0 时调用screenshot(),并在按下1 时调用reader()。如果按下d,它应该退出。我就是这样尝试的:

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 时,它会退出。

【问题讨论】:

  • 我会将其中的 2 个 if 语句更改为 elif 语句(如果 else 则引发错误)。

标签: python


【解决方案1】:

删除此行if __name__ == "__main__":。 reader() 正在工作,你知道它是如何工作的吗?它正在复制sample 文本,请尝试粘贴到您的文本编辑器中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2015-02-21
    相关资源
    最近更新 更多