你好,所以在我的python脚本中,我从用户那里获取输入,这些输入被写入css文件的一部分。
pag.moveTo(discord[0], discord[1], 0.5)
pag.click()
time.sleep(2)
pag.moveTo(settings[0], settings[1], 0.5)
pag.click()
time.sleep(2)
pag.moveTo(customcss[0], customcss[1], 0.5)
pag.click()
time.sleep(2)
pag.moveTo(line1[0], line1[1], 0.5)
pag.click()
time.sleep(5)
with open(name + '.css') as f:
lines = f.readlines()
pag.typewrite(lines)
问题是,当代码到达typewrite
时,.css
文件中的文本只按回车键约20次,文件中没有打印任何内容。我该如何修复这个
pyautogui.typewrite()
函数有两种模式。第一种模式采用string
,并模拟按下字符串中每个字母的键。第二种模式采用字符串的list
,在这种情况下,它希望列表中的每个字符串都是键名,而不是字符。
以下是功能文档:
def-typetype(message,interval=0.0,logScreenshot=None,_pause=True(:
对每个执行键盘键按下,然后释放消息中的字符数。消息参数也可以是字符串,在这种情况下可以使用任何有效的键盘名。自此执行一系列键盘按压并且不按下键,它不能用于执行键盘快捷键。使用热键((函数。
Args:
message(str,list(:如果是字符串,则要按下的字符如果列出,然后要按的键的名称。有效名称在KEYBOARD_KEYS中列出。
因为调用readlines()
读取文件,所以lines
包含字符串列表,文件的每行一个。如果改为调用read()
,则lines
将是单个字符串。因此:
lines = f.readlines()
...
pag.typewrite(lines)
您正在向typewrite
传递一个列表。在这种情况下,根据上面的文档,函数希望lines
中的每个字符串都包含键名,而不是字符我假设您正在读取的文件不包含密钥名称列表。
如果您使用f.read()
而不是f.readlines()
,您将得到您期望的行为。