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

使用shutil.move()后文件移至未知路径,求定位文件位置

文件被移动到哪里了?

你的文件被移动到当前Python脚本运行的工作目录下的2022 06文件夹里了。

原因解析

当你使用不带盘符的相对路径(比如2022 06)时,Python会默认将其解析为相对于**当前工作目录(Current Working Directory)**的路径,而非源文件所在的目录。你可以在脚本中加入以下代码查看当前工作目录:

import os
print(os.getcwd())

运行后输出的路径,就是存放2022 06文件夹的位置。

另外,代码没有报错是因为shutil.move完全支持相对路径——只要目标文件夹存在(你代码里通过os.path.exists(dst)做了判断),就会正常执行移动操作,不会因为缺少盘符触发错误。

修正方案

如果希望把文件移动到源文件所在目录下的年月文件夹,可以修改dst的生成逻辑,将其基于源文件的父路径path构建:

import os
import shutil
import time

# 假设path和file为已定义变量
src = os.path.join(path, os.path.basename(file))
# 获取文件修改时间对应的年月字符串
year_month = time.strftime('%Y %m', time.gmtime(os.path.getmtime(os.path.join(path, file))))
# 将dst设置为path目录下的年月文件夹
dst = os.path.join(path, year_month)
if os.path.exists(dst):
    shutil.move(src, dst)

同时建议把path+'\\'+file替换为os.path.join(path, file),这样能适配不同操作系统的路径分隔符,避免潜在的路径错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 13:54:23