我正在使用字典理解来获取键值对的字典,其中键是 mp3 文件的名称,值是文件的路径。
我愿意:
for root, dirs, files in os.walk(rootDir, topdown='true'):
source_files = {filename:root for filename in files if os.path.splitext(filename)[1].lower() == '.mp3'}
# more code
# ...
# ...
我对部件中的源文件做了更多的逻辑more code
。现在,我想对任何图片(即 .gif、.jpeg 等)重复此逻辑
所以我可以这样做:
for root, dirs, files in os.walk(rootDir, topdown='true'):
source_files = {filename:root for filename in files if os.path.splitext(filename)[1].lower() == '.jpeg' or os.path.splitext(filename)[1].lower() == '.gif'}
然后将该more code
部分包装成一个函数并为图片文件调用它。但是,我想知道我是否可以在字典理解中使 if 表达式动态化,然后只传递一个 if 表达式用于音乐文件,另一个 if 表达式用于图片文件?