这里是清安,字典解析与列表解析类似本章也是结合python20章所讲。
import os
import glob
metadata = [(f, os.stat(f)) for f in glob.glob('*qing*.py')]
print(metadata[0])
metadata_dict = {f: os.stat(f) for f in glob.glob('qing*.py')}
print(metadata_dict)
# 以列表形式输出字典中的值
print(list(metadata_dict.keys()))
还记得metada中的意思吧,输出所匹配到的文件的一些信息。
而下面的metada_dict中的就是将一个元组变成字典形式,展现出来,二者写法类似,细节上的一些差异。
('qing.py', os.stat_result(st_mode=33206, st_ino=49258120924405594, st_dev=2027176494, st_nlink=1, st_uid=0, st_gid=0, st_size=21, st_atime=1643376706, st_mtime=1643376705, st_ctime=1643376696))
{'qing.py': os.stat_result(st_mode=33206, st_ino=49258120924405594, st_dev=2027176494, st_nlink=1, st_uid=0, st_gid=0, st_size=21, st_atime=1643376706, st_mtime=1643376705, st_ctime=1643376696), 'qingan.py': os.stat_result(st_mode=33206, st_ino=21673573206761308, st_dev=2027176494, st_nlink=1, st_uid=0, st_gid=0, st_size=21, st_atime=1643376707, st_mtime=1643376705, st_ctime=1643376705)}
['qing.py', 'qingan.py']
小技巧:如何将字典中的键值对调换顺序呢?
a_ = {'a': 1, 'b': 2, 'c': 3}
b = {value:key for key, value in a_.items()}
print(b)