python - 如何在 os.utime 中使用 windows 路径?
问题描述
我想更改文件的修改日期,所以我使用os.utime
,但它找不到文件,我得到一个错误Exception has occurred: FileNotFoundError Can't find file: 'C:\\My folder\\2207222. .xlsm'。
据我了解,问题是反斜杠。所以我尝试了:
1)用空str替换反斜杠,用斜杠,比如fileLocation.replace("\ ", "")
2)也PureWindowsPath(fileLocation)
不起作用。当我用它打印fileLocation 时,它print()
会打印“C:/My Folder/2207222.xlsm”,但是当它尝试查找文件时失败。
3) 在原始字符串中使用斜杠而不是反斜杠,例如 r"C:\My Folder\2207222.xlsm"。输出发生异常:FileNotFoundError 找不到文件:'C:\My Folder\2207222.xlsm'
4) 使用斜杠代替反斜杠。输出发生异常:FileNotFoundError 找不到文件:“C:\\My Folder\x907222.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')
推荐阅读
- ios - 查找单元格索引路径时,self 为 nil
- javascript - Screenshot for each DOM node
- node.js - Express + Webpack 弹性beantalk部署
- php - 使用 php 图像魔术师调整图像大小
- c# - 每次都不显示远程视频流
- java - 如何在 java 对象中为电子邮件地址设置验证?
- python - 如何一次设置所有 Django 通用视图的上下文变量?
- android - Android OpenGL:GLSurfaceView.Renderer.onDrawFrame() 在启动时调用了两次
- arduino - 来自 2 个锅的 Arduino RGB LED 控制
- c - 在 C 中使用递归评估算术表达式