wndows下使用Python来修改文件时间戳
作者: 2hei 发表于2008年12月 7日 18:46 版权声明: 可以转载, 转载时务必以超链形式标明文章原始出处和作者信息及版权声明
http://www.2hei.net/mt/2008/12/wndows-use-python-edit-filetime.html
windows下的文件时间戳有三个属性,创建时间、修改时间、访问时间,*nix下方便的多了,可以使用touch来进行修改,windows下也可以使用专门的工具来进行修改(别跟我说你是通过修改操作系统时间后再创建文件哟!)
本文使用python2.6来进行处理,代码很简单,美中不足的是python提供的模块中并没有可以修改文件创建时间的,而修改时间和访问时间均可以任意修改,代码具体如下:
可以看到文件的三个基本属性,时间都是2008年12月7日,
程序运行的输出结果:

本文使用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月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

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






发表一个评论