当我跑步时:
pyautogui.hotkey('ctrl','a')
效果很好。
但是当我将字符串放入变量中时,它不起作用:
my_var = "'ctrl','a'"
pyautogui.hotkey(my_var)
my_var是一个字符串对象,python不会引发错误,但是什么也不会发生。
如果我尝试使用类似列表的对象,那是行不通的:
pyautogui.hotkey(list(my_var))
我可以:
print(my_var)
然后我回来:'ctrl','a'
我可以使pyatogui.press(tab)通过变量工作。
我尝试过某种原始字符串:
my_var = r"'ctrl','a'"
没有任何成功。
在PyCarm中,逗号为橙色(可能是参数列表),而将字符串放入变量中则为绿色。
我上传了示例代码的图片:
以及任何人都可以尝试的完整代码(也许我应该警告它,在按ctrl + a起作用时,大多数程序中的巫婆都会全部选中):
import time
import pyautogui
time.sleep(3)
# This part works
pyautogui.hotkey('ctrl','a')
# This part do not work, no error
my_var = "'ctrl','a'"
pyautogui.hotkey(my_var)
我运行Windows10和python 3.7和PyCharm。
pyautogui.hotkey('ctrl','a')
enter code here
向该函数添加2个参数但是使用此功能时:
my_var = "'ctrl','a'" pyautogui.hotkey(my_var)
您仅向该函数添加了一个参数,该参数在这种情况下不起作用您可以使用:
my_var = ['ctrl','a'] pyautogui.hotkey(my_var[0],myvar[1])
或
my_var = {”first”:'ctrl',”second”:'a'} pyautogui.hotkey(my_var[”first”],myvar[”second”])
my_var = "ctrl+a"
my_var = my_var.split('+')
pyautogui.hotkey(str(my_var[0]),str(my_var[1]))
这对于具有2个参数的所有情况都足够好了,我也可以使用以下命令轻松地对3个情况进行硬编码:
len(my_var)
会告诉我它有多少个元素,在某些情况下可能会有3甚至4,但是在此之上非常不舒服。非常感谢您的输入。太好了,我现在可以上床睡觉了,以为所有情况都可以解决。我为制作一个新文件夹而尝试过此操作,等级为3,并且在第一次尝试时就解决了:
my_var = "ctrl+shift+n" my_var = my_var.split('+') pyautogui.hotkey(str(my_var[0]),str(my_var[1]),str(my_var[2]))
:)