关于使用python存储文件信息的方法的建议

时间:2014-05-13 14:25:15

标签: python

我一直在网上寻找在python中存储信息的方法,我遇到了各种各样的方法来做到这一点。我想来stackoverflow看看你们谁对python'更有经验。会在这种情况下建议。

我正在进行for循环收集特定目录中的所有文件。我想要做的是收集每个文件及其文件大小,文件名和文件类型。你们会为此推荐什么?我知道下面使用的方法不是好习惯。

import os

cacheDir = os.path.normpath('Q:\Qoros\Project_Assets\car\PublishedMXS')
mxsFiles = []
mxsNames = []
maxFilesize = []

for file in os.listdir(cacheDir):
    if file.endswith(".mxs"):
        filePath = cacheDir + '/' + file
        prefix = file.split('_')

        mxsFiles.append(filePath)
        mxsNames.append(prefix[0])
        # maxFilesize.append(filesize)

1 个答案:

答案 0 :(得分:1)

from collections import namedtuple
import glob
import os

cache_dir = os.path.normpath('Q:\Qoros\Project_Assets\car\PublishedMXS')
filespec  = "*.mxs"

FileData = namedtuple("FileData", ["name", "prefix", "size"])

files = []
for fname in glob.glob(os.path.join(cache_dir, filespec)):
    name = os.path.abspath(fname)
    prefix = fname.split("_")[0]
    size = os.stat(fname).st_size
    files.append(FileData(name, prefix, size))