在Python中使用os.rename()时出现FileNotFoundError

时间:2020-04-14 16:16:46

标签: python datetime error-handling operating-system

我正在按照此post重命名文件名,但是在下面出现错误,我尝试了很多可能的解决方案,但在这里都找不到解决方法:

import os
import datetime

current_date = datetime.datetime.today().strftime('%Y-%m-%d %H:%M:%S')
current_date

os.rename(r'C:\Users\...\xxxx.csv', r'C:\Users\...\xxxx_' + str(current_date) + '.csv'

错误是:

FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\...\\xxx.csv -> 'C:\\Users\\...\\xxx_2020-04-14 16:43:56.csv'

我该如何解决?

2 个答案:

答案 0 :(得分:1)

似乎不喜欢current_date的格式

import os
import datetime

current_date = datetime.datetime.today().strftime('%Y-%m-%d %H:%M:%S')


old = 'C://path//somefile.csv'
new = 'C://path//somefile'+'new.csv' #str(current_date)+'.csv'
os.rename(old,new)

这对我有用(windows),您不能在文件名中使用某些字符,在这种情况下,这是导致问题的“:”,将其更改为“-”即可解决。

答案 1 :(得分:0)

也许文件确实不在您的路径中。使用os.walk检查文件是否在文件夹中,如下所示:

for _ in os.walk(path):
 print(_)