You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用pyautogui读取指定目录图片触发读取错误怎么解决

问题根因

这不是权限问题,核心错误点是os.listdir()仅返回目标目录下的文件名,不会携带父目录路径。你将纯文件名传入pyautogui.locateCenterOnScreen()时,函数会默认从脚本的当前工作目录查找文件,自然无法定位到存放在C:\myFolder下的图片,因此抛出文件缺失报错。

修复方法
  • 导入os.path.join方法,遍历文件名时拼接目标目录路径,生成完整的文件绝对路径存入图片列表,修改后的代码参考:
import os
import pyautogui as py

image_list = []
# 定义图片存放的根目录
img_root = r"C:\myFolder"
# 读取目录下的所有文件
directory = os.listdir(img_root)
# 拼接完整路径后加入列表
for file in directory:
    if file.lower().endswith('.png'):
        # 拼接根目录和文件名,得到完整路径
        full_path = os.path.join(img_root, file)
        image_list.append(full_path)

print(directory)

while True:
    # 注意:如果y.jpg也迁移到了myFolder,这里同样要补全完整路径
    if py.locateOnScreen(os.path.join(img_root, 'y.jpg')) is not None:      
        for image in image_list:
            Found = py.locateCenterOnScreen(image)
  • 额外优化:可以用file.lower().endswith('.png')同时匹配大小写的png后缀,不用分开写两种判断条件。

内容的提问来源于stack exchange,提问作者user9686961

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:48:01