我正在尝试在os.stat
中运行pool
以获取文件列表,但结果只接收嵌套的文件列表统计信息:
list_of_files = ['file1.txt','file2.txt','file3.txt']
p = Pool(4)
list_of_stats = p.map(os.stat, list_of_files)
list_of_fies
包含下一个值:
nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0, st_uid=0, st_gid=0, st_size=8905L, st_atime=1499725858L, st_mtime=1416573654L, st_ctime=1445009618L)...
我的问题是:在list / dict中获取与此文件相关的文件名+统计信息的最简单方法是什么?
例如dict:
{'file1.txt': [st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0, st_uid=0, st_gid=0, st_size=8905L, st_atime=1499725858L,...]}
答案 0 :(得分:0)
我使用类似下面的代码找到了解决方案:
list_of_files = [name1, name2, name3, name4]
def file_stat(file_path):
return (file_path, os.stat(file_path))
if __name__ == "__main__":
p = Pool(2)
list_of_stats = p.map(file_stat, list_of_files)
print(type(list_of_stats))
print(list_of_stats)
输出:
<type 'list'>
[(u'\\path\to\file\name1.xml', nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0, st_uid=0, st_gid=0, st_size=8905L, st_atime=1501540255L, st_mtime=1416573654L, st_ctime=1445009618L)), (u'\\path\to\file\name2.xml', nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0, st_uid=0, st_gid=0, st_size=47000L, st_atime=1501540327L, st_mtime=1475583701L, st_ctime=1445009618L)), ... ]