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

调用os.chdir报错NotADirectoryError:目录名称无效问题解析

修复NotADirectoryError: [WinError 267] 错误

错误原因

你调用os.chdir(path)时,path被赋值为图片文件的完整路径(C:\Users\marzo\Downloads\frogblood.jpg),但os.chdir()的参数必须是目录路径,而非具体文件路径,因此触发了这个报错。

解决方案

有两种简单的修复方式:

方式1:修正os.chdir()的路径为目录路径

将path变量改为图片所在的文件夹路径,再执行目录切换:

import os
import imageio
from skimage.color import rgb2gray
from skimage.filters import gaussian
import matplotlib.pyplot as plt

# 改为目录路径,而非文件路径
path = r'C:\Users\marzo\Downloads'
os.chdir(path)

imagename = 'frogblood'
image = imageio.imread(imagename + '.jpg')
img = rgb2gray(image)
img = gaussian(img, sigma=1)

plt.imshow(img, cmap='gray')
plt.show()

方式2:直接使用完整文件路径读取(更推荐)

无需切换目录,直接将完整文件路径传给imageio.imread(),代码更简洁且避免路径切换的潜在问题:

import imageio
from skimage.color import rgb2gray
from skimage.filters import gaussian
import matplotlib.pyplot as plt

filepath = r'C:\Users\marzo\Downloads\frogblood.jpg'
image = imageio.imread(filepath)
img = rgb2gray(image)
img = gaussian(img, sigma=1)

plt.imshow(img, cmap='gray')
plt.show()

额外说明

如果需要处理多个图片(比如你定义的filepath2、filepath3),方式2的扩展性更好,直接遍历文件路径列表即可,无需频繁切换目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 12:40:35