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

Python读取本地TIF文件遇PermissionError: [Errno 13]权限拒绝求助

解决读取TIF文件时的PermissionError问题

核心问题定位

你传入tif.imread()的是文件夹路径,而非具体的TIF文件路径。tif.imread仅能读取单个或指定的多个TIF文件,无法直接读取整个文件夹,这是触发错误的主要原因。同时OneDrive路径的特殊权限机制也可能加剧这个问题。

具体解决步骤

1. 修正路径,遍历读取文件夹内的TIF文件

如果需要读取文件夹下所有TIF文件,需遍历文件夹逐个读取,示例代码:

import os
import numpy as np
import tifffile as tif

# 定义文件夹路径
image_dir = r"C:\Users\abouf\OneDrive\Desktop\Deep_Learning\Training_Data\T\images"
mask_dir = r"C:\Users\abouf\OneDrive\Desktop\Deep_Learning\Training_Data\T\labels"

large_image_stack = []
# 遍历图片文件夹
for filename in os.listdir(image_dir):
    if filename.lower().endswith((".tif", ".tiff")):
        file_path = os.path.join(image_dir, filename)
        # 读取单个TIF文件
        img = tif.imread(file_path)
        large_image_stack.append(img)
# 转换为numpy数组用于批量处理
large_image_stack = np.array(large_image_stack)

# 标签文件同理处理
large_mask_stack = []
for filename in os.listdir(mask_dir):
    if filename.lower().endswith((".tif", ".tiff")):
        file_path = os.path.join(mask_dir, filename)
        mask = tif.imread(file_path)
        large_mask_stack.append(mask)
large_mask_stack = np.array(large_mask_stack)

2. 处理OneDrive的权限限制

  • 等待同步完成:OneDrive在同步文件时会锁定文件,此时无法读取,等右下角同步图标显示完成后再运行代码
  • 检查文件夹权限:右键目标文件夹 → 属性 → 安全 → 确认当前登录用户拥有读取/写入权限,若没有则点击编辑添加对应权限
  • 迁移到本地路径:把TIF文件复制到非OneDrive的本地文件夹(比如D:\Training_Data),再尝试读取,排除OneDrive的特殊权限干扰

3. 其他排查点

  • 关闭占用文件的软件:检查TIF文件是否被Photoshop、ArcGIS等软件打开,打开状态下文件会被锁定,关闭后再读取
  • 以管理员身份运行IDE:右键Python开发工具(VS Code/PyCharm等),选择以管理员身份运行,再执行代码,避免系统权限限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 20:03:14