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

使用os.rename重命名文件遇OSError: [WinError 123]错误求解决

修复os.rename的WinError 123文件名语法错误

问题根源

  1. 路径包含多余双引号:剪贴板获取的路径被双引号包裹(如"C:\l-final_words.pdf"),Windows文件路径不需要引号,os.rename会将引号视为路径的一部分,触发语法错误。
  2. 路径拼接逻辑错误:直接截取原路径前40字符再拼接新文件名,会破坏合法路径结构;额外添加的mxk变量(多余引号)进一步导致新路径格式失效。

修复方案

1. 移除路径中的双引号

用strip('"')清除剪贴板内容前后的引号,确保路径为合法格式:

m = root.clipboard_get().strip('"')

2. 用os.path模块正确拼接新路径

避免手动截取字符,通过os.path模块拆分目录和文件名,保证路径拼接的可靠性:

import os
from tkinter import Tk

root = Tk()
root.withdraw()
# 移除剪贴板路径的双引号
m = root.clipboard_get().strip('"')
# 获取原文件所在目录,拼接新文件名
file_dir = os.path.dirname(m)
new_file_name = "blank.pdf"
new_path = os.path.join(file_dir, new_file_name)

print(m, new_path)
os.rename(m, new_path)

3. 删除多余变量

原代码中mxk、cc属于冗余变量,会给路径添加无效引号,直接删除即可。

修复后效果

原路径C:\l-final_words.pdf会被正确重命名为同一目录下的C:\blank.pdf,不会再触发WinError 123语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 09:40:01