当前位置: 首页 > python > 正文

wndows下使用Python来修改文件时间戳

windows下的文件时间戳有三个属性,创建时间、修改时间、访问时间*nix下方便的多了,可以使用touch来进行修改,windows下也可以使用专门的工具来进行修改(别跟我说你是通过修改操作系统时间后再创建文件哟!)
本文使用python2.6来进行处理,代码很简单,美中不足的是python提供的模块中并没有可以修改文件创建时间的,而修改时间和访问时间均可以任意修改,代码具体如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os,sys,time
from stat import *
filename=’D:\\2hei.net\\test.txt’
#指定期望修改后的时间
TimeForChange = ‘2007-01-10 07:51:21’
#转换时间格式为long型
ConverTime = time.mktime(time.strptime( TimeForChange,’%Y-%m-%d %H:%M:%S’) )
print TimeForChange+’ 转换后:’+str(ConverTime)

print ‘————-修改前—————-‘
#创建时间
print ‘创建时间  ‘+time.ctime(os.path.getctime(filename))
#最后修改时间
print ‘修改时间  ‘+time.ctime(os.path.getmtime(filename))
#访问时间
print ‘访问时间  ‘+time.ctime(os.path.getatime(filename))

#修改文件时间戳
times=(ConverTime,ConverTime)
#进行修改
os.utime(filename, times)

print ‘————-修改后—————-‘
#创建时间
print ‘创建时间  ‘+time.ctime(os.path.getctime(filename))
#最后修改时间
print ‘修改时间  ‘+time.ctime(os.path.getmtime(filename))
#访问时间
print ‘访问时间  ‘+time.ctime(os.path.getatime(filename))

首先在本地创建一个test.txt的文件(文件夹类似),先右键点击查看属性:
2008-12-07_184152.png

可以看到文件的三个基本属性,时间都是2008年12月7日,
程序运行的输出结果:

2007-01-10 07:51:21 转换后:1168386681.0
————-修改前—————-
创建时间  Sun Dec 07 18:16:56 2008
修改时间  Sun Dec 07 18:41:38 2008
访问时间  Sun Dec 07 00:00:00 2008
————-修改后—————-
创建时间  Sun Dec 07 18:16:56 2008
修改时间  Wed Jan 10 07:51:22 2007
访问时间  Wed Jan 10 00:00:00 2007

在右键点击查看文件属性,可以看到已经变成如下图:
2008-12-07_184427.png

可以看到文件的修改时间已经变成了2007年的1月10日,时间属性修改成功。

本文固定链接: http://2hei.net/wndows_use_python_edit_filetime.html | 2hei's site

该日志由 2hei 于2008年12月07日发表在 python 分类下,
原创文章转载请注明: wndows下使用Python来修改文件时间戳 | 2hei's site

报歉!评论已关闭.