os模块关于shutil.move遇到问题

问题描述:

最后一行会报错,如果删除最后一行,倒数第2行是能正确运行的。想请教原因


import os
import shutil
import datetime as dt

#设置当日日期
now_date = dt.date.today().strftime("%Y%m%d")
#设置前一日日期(一般为倒班人员的当班日期)
delta = dt.timedelta(days=-1)
yestoday_date = (dt.date.today()+delta).strftime("%Y%m%d")

path = "F:\\客票所每日报表\\"
#设置前一日日期文件夹名
date_path = path+yestoday_date
#如果不存在日期文件夹名的文件夹,则新建一个
if not os.path.exists(date_path):
    os.makedirs(date_path)
#如果不存在给董事长文件夹名的文件夹,则新建一个     
if not os.path.exists(date_path+"\\给董事长"):
    os.makedirs(date_path+"\\给董事长",exist_ok=True)
#如果不存在其他文件夹名的文件夹,则新建一个 
if not os.path.exists(date_path+"\\其他"):
    os.makedirs(date_path+"\\其他",exist_ok=True)   

#设置下载路径
download_path = "C:\\Users\\揭晖\\Downloads\\"
down_list = os.listdir(download_path)


for file in down_list:
    f_name = os.path.splitext(file)[0]
    suffix_name = os.path.splitext(file)[-1]
    print(f_name)
    shutil.move(file,date_path)

img

img

已找到问题在哪,遍历的file只有文件名,不是路径。需要改为shutil(download_path+file,date_path)即可。