gpt4 book ai didi

python - NoneType 对象不可迭代

转载 作者:行者123 更新时间:2023-11-28 20:16:33 25 4
gpt4 key购买 nike

我在下面的代码中收到“NoneType”对象不可迭代的 TypeError。下面的代码用于使用 pyautogui 滚动 digits 文件夹中的 10 张图像(命名为 0 到 9,以图像中的 # 命名),当它找到一个时,报告 x 的值以及它找到的数字。然后字典按 x 值排序以读取在图像中找到的数字。

问题:我还在学习 Python,这个 TypeError 让我踩了脚,我该如何纠正这个问题?

#! python3
import sys
import pyautogui

# locate Power
found = dict()
for digit in range(10):
positions = pyautogui.locateOnScreen('digits/{}.png'.format(digit),
region=(888, 920, 150, 40), grayscale=True)
for x, _, _, _ in positions:
found[x] = str(digit)
cols = sorted(found)
value = ''.join(found[col] for col in cols)
print(value)

错误回溯:

Traceback (most recent call last):
File "C:\Users\test\python3.6\HC\power.py", line 10, in <module>
for x, _, _, _ in positions:
TypeError: 'NoneType' object is not iterable

最佳答案

您需要在 positions

之前的迭代中添加对 None 的检查
#! python3
import sys
import pyautogui

# locate Power
found = dict()
for digit in range(10):
positions = pyautogui.locateOnScreen('digits/{}.png'.format(digit), region=(888, 920, 150, 40), grayscale=True)
if positions is not None:
for x, _, _, _ in positions:
found[x] = str(digit)
cols = sorted(found)
value = ''.join(found[col] for col in cols)
print(value)

关于python - NoneType 对象不可迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42755006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com