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

Windows服务器下Python识别文件夹路径报错,寻求解决方案

问题解决步骤

核心错误分析

报错OSError: [WinError 123]的直接原因有两个:

  • 路径转义字符解析错误:Python中字符串里的\是转义符,比如\a会被解析为ASCII控制字符\x07,导致实际路径变成无效的E:\x07utomatic_backups\Auto_backup_mysql.sql。
  • source变量指向错误:你把source设为了具体文件路径,但os.listdir()需要传入文件夹路径,传入文件会触发路径无效错误。

修正方案

  1. 修复路径写法:Windows路径在Python中可以用三种方式避免转义问题:

    • 用原始字符串:在字符串前加r,比如r'E:\automatic_backups'
    • 用双反斜杠:'E:\\automatic_backups'
    • 用正斜杠:'E:/automatic_backups'
  2. 修正source变量:将source改为文件夹路径,而非文件路径。

  3. 增强代码健壮性:添加备份目录自动创建逻辑,避免目录不存在时的报错。

修正后的代码

import os
import shutil
import uuid

# 使用原始字符串避免转义问题,source指向目标文件夹
source = r'E:\automatic_backups'
# 同样处理备份目录路径
new_local = r'E:\automatic_backups\backup'

# 确保备份目录存在,不存在则自动创建
os.makedirs(new_local, exist_ok=True)

# 遍历源文件夹下的文件
for filename in os.listdir(source):
    if filename == "Auto_backup_mysql.sql":
        uuid_code = uuid.uuid4().hex
        backup_name = f"{uuid_code}_{filename}"
        src_path = os.path.join(source, filename)
        dst_path = os.path.join(new_local, backup_name)
        shutil.copy(src_path, dst_path)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 13:43:20