带有变量的python pyautogui热键-不需要像('ctrl','a')

问题描述 投票:0回答:2

当我跑步时:

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中,逗号为橙色(可能是参数列表),而将字符串放入变量中则为绿色。

我上传了示例代码的图片:

enter image description here

以及任何人都可以尝试的完整代码(也许我应该警告它,在按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
2个回答
0
投票
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”])


0
投票
感谢rafalou38给我一些反馈,我已经尝试了2小时。如果我们先进行分割,然后将str()函数添加到单独的列表元素中,那么您的ide实际上就适用于这种特殊情况,我使用如下所示的加号来完成它:

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]))

:)
© www.soinside.com 2019 - 2024. All rights reserved.