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

如何阻止os.rename移动文件?Unix可执行脚本重命名CSV异常

问题根源与解决方案

你的问题出在os.rename的目标路径设置上——你只写了"CC.csv"这个文件名,没有指定完整的目标目录,Python会默认把文件移动到当前脚本的工作目录,而不是你期望的spath目录下,这就是原目录csv消失、后续读取找不到文件的核心原因。

修改后的代码

把重命名的目标路径改成完整路径,用os.path.join拼接目录和文件名,确保文件在原目录内完成重命名:

import os

spath='/Users/emmanuel/Documents/Selenium/'
sourcefiles = os.listdir(spath)
for file in sourcefiles:
    if file.endswith('.csv'):
        # 拼接完整目标路径,确保文件留在原目录
        target_full_path = os.path.join(spath, "CC.csv")
        os.rename(os.path.join(spath, file), target_full_path)

补充说明

  • 你之前用print(os.getcwd())输出的目录里,应该能找到之前“消失”的CC.csv,可以去验证这一点;
  • 由于你提到每次仅处理一个csv文件,这个循环不会出现多文件覆盖问题(如果目录内存在多个csv,后续文件会覆盖前面的,但你的场景不存在这个情况);
  • 修改后,后续pd.read_csv('/Users/emmanuel/Documents/Selenium/CC.csv')就能正常读取到目标文件了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:30:54