如何用Python访问Windows Vista上的文件属性?
这个问题很简单,标题上已经说得很清楚了,我想知道怎么用Python访问Windows文件的属性,比如修改日期,还有更具体的标签。因为我正在做一个程序,需要获取某个文件夹里各种文件的所有标签列表,但我不知道该怎么做。我有win32模块,但我找不到我需要的东西。
谢谢大家的快速回复,不过我现在最需要的文件信息是标签属性,这个在Windows Vista中引入了,但遗憾的是,这个信息不在os.stat和stat模块里。不过还是感谢你们,因为我确实也需要这些数据,只是我之前没有想到。
4 个回答
1
示例:
import time, datetime
fstat = os.stat(FILENAME)
st_mtime = fstat.st_mtime # Date modified
a,b,c,d,e,f,g,h,i = time.localtime(st_mtime)
print datetime.datetime(a,b,c,d,e,f,g)
3
看起来,你需要使用 Windows搜索API 来查找 系统关键词。你可以通过 ctypes
直接访问这个API,或者通过需要 win32扩展 的方式间接访问,使用API的 COM互操作 组件。抱歉,我没有Vista系统来检查,但希望这些链接对你有帮助!
7
你可以使用 os.stat 结合 stat 来获取文件的状态信息。
import os
import stat
import time
def get_info(file_name):
time_format = "%m/%d/%Y %I:%M:%S %p"
file_stats = os.stat(file_name)
modification_time = time.strftime(time_format,time.localtime(file_stats[stat.ST_MTIME]))
access_time = time.strftime(time_format,time.localtime(file_stats[stat.ST_ATIME]))
return modification_time, access_time
你还可以获取很多其他的状态信息,想了解完整的列表可以查看 stat 模块。要提取文件夹中所有文件的信息,可以使用 os.walk。
import os
for root, dirs, files in os.walk(/path/to/your/folder):
for name in files:
print get_info(os.path.join(root, name))