我有一个问题,pyautogui不写我编程到它。当我尝试使用go_to时,它写得不正确。我写了这段代码:
import pyautogui as pag
import time
def open_chat():
pag.write("t")
def close_chat():
pag.press("esc")
def go_to(x, y, z):
pag.write(" #goto", x, y, z)
print("start")
time.sleep(20)
open_chat()
go_to(x= 1,y= 1, z= 1)
print("ende")
我希望代码给出这样的输出:
t #goto 1 1 1
但我得到了这个输出:
t 'goto
我试着修改了几次代码,但结果都是一样的。
1条答案
按热度按时间u0sqgete1#
Pyautogui的
write
(typewrite
的别名)函数与Python内置的print
函数不同。如果查看函数签名,您将看到print
如何接受任意数量的对象进行打印,而typewrite
如何接受单个消息进行输入。签名中objects
之前的*
表示它将接受0个或更多的位置参数,并且传递的所有参数的元组将被分配给函数体中的变量objects
。当你调用
pag.write(" #goto", x, y, z)
时,只输入第一个对象。最佳实践是生成一个字符串,其中包含您希望输入到字段中的全部内容,并将该字符串传递给typewrite
。字符串连接和字符串插值一样有效,但建议使用f-strings或str.format。