当我试图更改Windows中的“datemodified”字段值时,python遇到了一个奇怪的问题。具体地说,如果我写入文件,然后尝试更改其Date Modified属性,更改将失败(修改的日期将成为我运行python脚本的时间)。但是,如果我不写文件(如果我注释掉输出.写入函数调用)日期修改时间正确设置为11/2017。在
在这两种情况下,日期访问时间都按预期设置。在
下面是我的代码(Python2.7):import os
import time
import datetime
out = open("out.test", "wb")
#comment out the write line to get this to work
out.write("hi")
out.flush()
out.close
fileLocation = "out.test"
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())
os.utime(fileLocation, (modTime, modTime))
有趣的是,如果我使用一个单独的python进程(即在另一个cmd提示符下运行python)来更改修改日期,那么也可以。在
如果我写入文件,是否需要调用其他类似flush的函数来正确设置修改日期的时间?在
提前谢谢。在