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

如何通过Python with open对象解析文件名并替换空格为下划线重命名?

解决方案

可以通过BufferedReader对象的name属性获取文件完整路径,再拆分出文件名进行修改,最后完成重命名。具体步骤如下:

  1. 从data对象中提取文件的完整路径
  2. 拆分目录路径和文件名,将文件名中的空格替换为下划线
  3. 拼接新的文件路径,执行重命名操作

示例代码

import os

# 原始文件路径
file_path = '/Users/ks/Downloads/file name 1.pdf'

with open(file_path, 'rb') as data:
    # 执行文件读取、上传前预处理等操作
    file_content = data.read()
    # 获取文件的完整原始路径
    original_full_path = data.name

# 拆分目录与文件名
dir_path, original_filename = os.path.split(original_full_path)
# 替换文件名中的空格为下划线
new_filename = original_filename.replace(' ', '_')
# 拼接新路径
new_full_path = os.path.join(dir_path, new_filename)

# 关闭文件后执行重命名,避免系统占用报错
os.rename(original_full_path, new_full_path)

注意事项

  • _io.BufferedReader的name属性直接存储了打开文件的完整路径,无需解析打印输出内容
  • 优先在文件关闭后执行重命名:Windows系统中打开状态的文件无法被重命名,Linux/macOS虽允许,但关闭后操作更稳妥
  • 若上传依赖文件内容,可先将内容读取到内存,关闭文件后再重命名,不影响上传流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:35:19