如何在os.utime中使用windows路径?

问题描述 投票:0回答:1

我想改变文件的修改日期,所以我使用了 os.utime但它找不到文件,我得到了一个错误 发生异常。FileNotFoundError 找不到文件。'C:\\My folder\2207222.xlsm'.

据我所知,问题出在反斜杠上。所以我试了一下

1) 将反斜杠替换为空字符串,用斜线代替,比如说: fileLocation.replace("\ ", "")

(2) 还 PureWindowsPath(fileLocation) 不工作。当我打印 fileLocationprint() 它打印 "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))
python windows filesystems filepath
1个回答
0
投票

这可能是一个非常棘手的问题,所以我建议使用 os.path.join.对于你的情况,我会这样做。

fileLocation = os.path.join('C:\\', 'My Folder', '2207222.xlsm')
© www.soinside.com 2019 - 2024. All rights reserved.