-3

您好,我正在编写一个 Python 脚本,它将映射到一个列表(或任何其他对象),并且列表的每个单元格中都有 6 个项目:

  1. 文件的路径。
  2. 文件名(没有完整路径)。
  3. 扩展名。
  4. 创建时间。
  5. 最后修改时间。
  6. 这是md5哈希。

我对python有点陌生,我尝试了我所知道的一切......

有什么帮助吗?

谢谢 :)

4

1 回答 1

4

哦,来吧,继续谷歌搜索“python显示文件信息”出现的第一件事是:

获取有关文件的信息

This function takes the name of a file, and returns a 10-member tuple with the following contents:

(mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime)

然后你去python的文档,你会发现参数的含义:

操作系统统计

st_mode - protection bits,
st_ino - inode number,
st_dev - device,
st_nlink - number of hard links,
st_uid - user id of owner,
st_gid - group id of owner,
st_size - size of file, in bytes,
st_atime - time of most recent access,
st_mtime - time of most recent content modification,
st_ctime - platform dependent; time of most recent metadata change on Unix, or the time of creation on Windows)

然后你去看看如何列出一个 dir 函数,它也在名为listdir. 不要告诉我这很难,它花了我 1 分钟。

这是使用 DFS(深度优先搜索)遍历槽文件夹的方法:

import os 

def list_dir(dir_name, traversed = [], results = []): 
    dirs = os.listdir(dir_name)
    if dirs:
        for f in dirs:
            new_dir = dir_name + f + '/'
            if os.path.isdir(new_dir) and new_dir not in traversed:
                traversed.append(new_dir)
                list_dir(new_dir, traversed, results)
            else:
                results.append([new_dir[:-1], os.stat(new_dir[:-1])])  
    return results

dir_name = '../c_the_hard_way/Valgrind/' # sample dir
for file_name, stat in list_dir(dir_name):
    print file_name, stat.st_size # sample with file size

我会把剩下的留给你。

于 2013-08-29T12:32:42.763 回答