列表中的变量可以很好地与代码pyautogui.typewrite(i)一起使用,并在列表的中途停止进行随机处理。
接下来可以进行哪些增强,我如何不惜一切代价使它到达文件末尾?
它可能与for循环以外的其他语句有关系吗?还是我想出一种更好的方法从文本文件中获取列表?
谢谢您的帮助。
results = []
with open('H:\RetiredDevices.txt') as inputfile:
for line in inputfile:
results.append(line)
while True:
for i in results:
pyautogui.click(PressEnter1)
pyautogui.click(PressEnter1)
time.sleep(1)
pyautogui.click(PressEnter2)
#pyautogui.click(PressEnter3)
pyautogui.click(PressEnter4)
pyautogui.typewrite(i)
pyautogui.press('enter')
time.sleep(1)
retired_devices.append(i)
results.remove(i)
if len(results) == 0:
break
答案 0 :(得分:3)
这导致您跳过列表中的某些元素:results.remove(i)
演示:
res = [k for k in range(0,10)]
for i in res:
print(i)
res.remove(i)
>>>output
0
2
4
6
8
答案 1 :(得分:2)
请勿在循环本身中使用results.remove(i)
。通常,您不想在迭代过程中添加或删除列表中的内容。通常,我建议将所有要删除的项目添加到另一个列表中,然后遍历该列表以将其从原始列表中删除。在这里,您好像已经将它们添加到retired_devices
中,因此我将在循环结束后遍历retired_devices
并为results.remove(i)
中的每个i遍历retired_devices
。您也不需要while
循环,for
循环将在处理完所有元素后结束。