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

Python中os.path.isdir返回值在if语句中使用错误致文件夹操作异常

问题分析与代码修正

核心错误点

  1. 未调用os.path.isdir函数:你写的Exists = os.path.isdir只是把函数本身赋值给变量,既没传入要检查的文件夹路径,也没执行函数。后续if Exists == True是在判断函数对象是否等于布尔值,这永远不成立,直接导致逻辑完全走偏。
  2. 条件逻辑颠倒:把文件夹存在/不存在的操作写反了——os.path.isdir返回True代表文件夹存在,应该执行删除再新建;返回False才是文件夹不存在,直接新建即可。
  3. 硬编码路径隐患:代码里写死了用户路径,换设备运行必然报错,建议用动态路径替代。

修正后的代码

import os
import requests
from bs4 import BeautifulSoup

# 动态获取桌面路径,适配不同系统
desktop_path = os.path.expanduser("~/Desktop")
os.chdir(desktop_path)

target_folder = "Produced Video"
# 调用函数并传入目标路径,得到正确的布尔判断结果
folder_exists = os.path.isdir(target_folder)

if folder_exists:
    print("Folder exists! Deleting it :3")
    os.rmdir(target_folder)
    os.mkdir(target_folder)
else:
    print("This folder does not exist! We will create it :D")
    os.mkdir(target_folder)

# 后续要进入文件夹时,先判断存在再操作,避免报错
if os.path.isdir(target_folder):
    os.chdir(target_folder)

补充说明

错误信息里的os.chdir报错,是因为你尝试进入不存在的文件夹。修正后的代码增加了判断逻辑,确保文件夹存在后再切换目录;同时用os.path.expanduser("~/Desktop")自动适配Windows/macOS/Linux的桌面路径,比硬编码更通用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 15:24:08