【问题标题】:Loop python while typing words into a document then looping back around again. How would I do this?在将单词输入文档时循环python,然后再次循环。我该怎么做?
【发布时间】:2020-11-26 09:06:53
【问题描述】:

我基本上想在文档中一遍又一遍地输入一个单词。但是如何在 f: 中不使用 for word 逐行键入单词。我希望它继续运行并循环回到文件的开头。

import pyautogui, time, keyboard
time.sleep(10)
f= open("bot",'r')
for word in f:
        pyautogui.typewrite(word)
        pyautogui.press("enter")
        time.sleep(0.5)
        if keyboard.is_pressed('x'):
            break    

【问题讨论】:

  • 如果没有循环,这是不可能的,因为这就是循环的设计目的
  • @reece 有什么办法让它循环吗?
  • for word in f: 是一个循环
  • @reece 但在文件用完后让它回绕并继续发送旧词

标签: python loops file


【解决方案1】:

如果您正在寻找“for”循环以持续运行并更新文件,即使它已终止,您也可以将其包含在 while 循环中,例如,

import pyautogui, time, keyboard
time.sleep(10)

while(1):
    f= open("bot",'r')
    if keyboard.is_pressed('x'):
        break  
    for word in f:
        pyautogui.typewrite(word)
        pyautogui.press("enter")
        time.sleep(0.5)
  

【讨论】:

  • 这行不通。在 for 循环第一次完成后文件被耗尽。
  • 嗯,但循环不会将文件循环回来。在没有更多单词后它仍然停止输入,而不是再次返回
  • @TwSMatt 我已经更新了我的代码,现在应该可以使用了。这可能不是最有效的方法,因为我每次都在循环中打开文件。
  • 如果您反复打开和关闭文件,请使用with 语句来处理文件的生命周期。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-07
  • 2014-12-26
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多