在Python中重命名文件:WindowsError:系统找不到指定的文件

我正在尝试重命名文件夹中的文件,我不断收到文件不存在的错误….

import os import time from os.path import isfile, join working_dir = ('C:/Users/XXXXX/Desktop') only_file = [f for f in os.listdir(working_dir) if os.path.isfile(os.path.join(working_dir, f))] print only_file time_srt = time.strftime("%d_%m_%Y") if 'EZShift_WeeklyPerDayScheduleReport_Export.xlsx' in only_file: os.rename('EZShift_WeeklyPerDayScheduleReport_Export.xlsx', "EZShift_" + time_srt + ".xlsx") 

C:\ Python27 \ python.exe C:/Users/xxxxxx/Desktop/Python/Python3/pbx.py ['xxxxxx.jpg','xxxx.zip','xxxx.xlsx','xxx.pdf','追踪(最近的最后一次呼叫):文件“C:/ Users / sabaja / Desktop / Paython / XBM”,“ ( 错误2)系统找不到指定的文件

处理完成退出代码1

os.listdir中的文件名是相对pathos.listdir返回文件名onla); 他们将会在你当前的工作目录中被search到,这个目录是os.getcwd() (不会因为你命名variablesworking_dir而被改变)

你需要os.path.join(working_dir, filename)来获取绝对path ,以便访问(和重命名)你的文件。

你可以做这样的事情:

 import os.path if 'EZShift_WeeklyPerDayScheduleReport_Export.xlsx' in only_file: old_path = os.path.join(working_dir, "EZShift_WeeklyPerDayScheduleReport_Export.xlsx") new_path = os.path.join(working_dir, "EZShift_" + time_srt + ".xlsx") os.rename(old_path, new_path) 

从错误似乎没有find文件。 请在os.rename()调用中提供完整path。