我对Python还是很陌生,一般来说都可以进行编码,目前正在使用Python 3.5。我想学习自动化需要填充文本框才能运行的东西。我在电子游戏中尝试了以下代码,作为一种学习方法。
我希望将列表中的不同项目编号替换为consolecommand文本。
谢谢您的时间。
代码:
from pynput.keyboard import Key, Controller
import time
from keyboard import press
keyboard = Controller()
def submit():
press('enter')
def Keyboardpress1():
keyboard.press('/')
keyboard.release('/')
def waitone():
time.sleep(1)
def consolecommand():
keyboard.type("giveitem 172 49000")
def deepsix():
time.sleep(6)
def main():
deepsix()
submit()
waitone()
Keyboardpress1()
waitone()
consolecommand()
waitone()
submit()
deepsix()
if __name__ == '__main__':
main()
如您所见,该代码旨在击中一个数字以激活游戏中的命令控制台,然后键入命令。键入/键盘之间的停顿是因为没有它们,代码将无法流畅运行。
感谢,感谢您的帮助。
编辑:我实施了从建议的资源材料中学到的修复程序。现在我的问题更少了。谢谢评论部分的人。
Edit1:我实施了新代码来解决先前的问题。现在获得console命令来更改数字。
@@ Connor Winterton,这是一个非常简单的示例,使用参数来保存重复的自己。考虑func1(),它执行简单的计算并输出硬编码的消息。考虑func2()几乎相同,除了消息不同。通过将参数传递给func3(),您可以编写仅一个函数,该函数既可以执行以下任务,又可以减少代码并减少混乱,并使您能够传递将来可能需要的任何其他消息:
def func1():
a = 1+2
print(a,'hello')
def func2():
a = 1+2
print(a,'goodbye')
def func3(my_msg):
a = 1+2
print(a,my_msg)
# call the hardcoded functions
func1()
func2()
# call the new versatile function
func3('hello')
func3('goodbye')
func3('See you later!')