我想改变文件的修改日期,所以我使用了 os.utime
但它找不到文件,我得到了一个错误 发生异常。FileNotFoundError 找不到文件。'C:\\My folder\2207222.xlsm'.
据我所知,问题出在反斜杠上。所以我试了一下
1) 将反斜杠替换为空字符串,用斜线代替,比如说: fileLocation.replace("\ ", "")
(2) 还 PureWindowsPath(fileLocation)
不工作。当我打印 fileLocation 与 print()
它打印 "C:My Folder2207222.xlsm",但当它试图查找文件时却失败了。
3) 用斜线代替反斜线,比如r "C:\My Folder/2207222.xlsm"。输出为 发生异常。FileNotFoundError 找不到文件。"C:\My Folder\2207222.xlsm
4)要用斜线代替反斜线。输出为 发生异常。FileNotFoundError 找不到文件。"C:\My Folderx907222.xlsm"
谁能说说如何处理这个问题?
下面是其中一个例子的代码
import os
import time
import datetime
fileLocation = 'C:/2207222.xlsm'
year = 2017
month = 11
day = 5
hour = 19
minute = 50
second = 0
date = datetime.datetime(year=year, month=month, day=day, hour=hour, minute=minute, second=second)
modTime = time.mktime(date.timetuple())
print(fileLocation)
os.utime(fileLocation, (modTime, modTime))
这可能是一个非常棘手的问题,所以我建议使用 os.path.join
.对于你的情况,我会这样做。
fileLocation = os.path.join('C:\\', 'My Folder', '2207222.xlsm')