我在一个目录中有多个格式文件。我正在尝试构建一个列表或字典,以便使用for循环在python中对类似的格式化(扩展名)文件进行分组,但不知何故它不起作用。你知道吗
这是我的示例代码:
extension = ['pdf','xlsx','doc']
file_name_path=[]
file_dict ={}
for i in range(len(extension)):
for file_name in filelst:
if os.path.splitext(file_name)[-1] == extension[i]:
file_name_path.append(file_name)
file_dict[str(extension[i])]= file_name_path
file_name_path
file_dict
其中filelst是一个包含所有文件名的列表,例如
filelst =
['PD_CFS_PLL_OnMonSummary_2017Q2.xlsx',
'PD_Detailed_OMR_PLL_Lines_2017Q2.xlsx',
'PD_Detailed_OMR_PLL_Loans_2017Q2.xlsx',
'regexp-tip-sheet.pdf',
'SAS statistical-business-analyst certification .pdf']
另一种获取以扩展名为键的字典的方法
输出:
注意,我使用扩展列表中的点作为
os.path.splitext
返回列表,最后一个元素是'.extension'
。.lower()
用于使此解决方案不区分大小写,extension
列表中的字符串只能包含小写字符。你知道吗每次看到同一个键时,都会覆盖字典值。你知道吗
相反,使用列表作为值并附加。这就是
defaultdict
的目的。你知道吗从集合导入defaultdict
相关问题 更多 >
编程相关推荐