windows PyAutoGUI未使用python代码编写预期输出

wkftcu5l  于 2023-06-07  发布在  Windows
关注(0)|答案(1)|浏览(170)

我有一个问题,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

我试着修改了几次代码,但结果都是一样的。

u0sqgete

u0sqgete1#

Pyautogui的writetypewrite的别名)函数与Python内置的print函数不同。如果查看函数签名,您将看到print如何接受任意数量的对象进行打印,而typewrite如何接受单个消息进行输入。签名中objects之前的*表示它将接受0个或更多的位置参数,并且传递的所有参数的元组将被分配给函数体中的变量objects

print(*objects, sep=' ', end='\n', file=None, flush=False)
typewrite(message, interval=0.0, logScreenshot=None, _pause=True)

当你调用pag.write(" #goto", x, y, z)时,只输入第一个对象。最佳实践是生成一个字符串,其中包含您希望输入到字段中的全部内容,并将该字符串传递给typewrite。字符串连接和字符串插值一样有效,但建议使用f-strings或str.format。

相关问题