假设以下目录结构:
|--apc
| |--data
| | |--datainstaller.zip
| | |--rs_details
| | | |--readme.txt
| |--rem
| | |--15.0.x
| | | |--15.0.1
| | | | |--dataconversion
| | | | | |--details.txt
| | | |--15.0.2
| | | | |--dataconversion
| | | | | |--details.txt
| | |--alloc_details.txt
| |--res
| | |--resapp.zip
|--REIM
| |--dataconversion
| | |--dataconversioninstaller.zip
| | |--rs_details.txt
| |--reim_bkp.zip
| |--hotfix
| | |--mergedRC
| | | |--alloc
| | | | |--p231.zip
|--testfile1.txt
|--testfile2.txt
以绝对路径(从根目录开始,以深度优先的方式)以python列表形式给出(即,路径在列表中以字符串形式给出):-
['apc/','apc/data/', 'apc/data/datainstaller.zip', 'apc/data/rs_details/', 'apc/data/rs_details/readme.txt', 'apc/rem/', 'apc/rem/15.0.x/', 'apc/rem/15.0.x/15.0.1/', 'apc/rem/15.0.x/15.0.1/dataconversion/', 'apc/rem/15.0.x/15.0.1/dataconversion/details.txt', 'apc/rem/15.0.x/15.0.2/', 'apc/rem/15.0.x/15.0.2/dataconversion/', 'apc/rem/15.0.x/15.0.2/dataconversion/details.txt', 'apc/rem/alloc_details.txt', 'apc/res/', 'apc/res/resapp.zip', 'REIM/', 'REIM/dataconversion/', 'REIM/dataconversion/dataconversioninstaller.zip', 'REIM/dataconversion/rs_details.txt', 'REIM/reim_bkp.zip', 'REIM/hotfix/', 'REIM/hotfix/mergedRC/', 'REIM/hotfix/mergedRC/alloc', 'REIM/hotfix/mergedRC/alloc/p231.zip', 'testfile1.txt', 'testfile2.txt']
我想创建一个嵌套字典来存储这个目录结构,它是这样的:-
{
'apc/': {
'apc/data/':{
'apc/data/datainstaller.zip' : {}
'apc/data/rs_details/' : {
'apc/data/rs_details/readme.txt' : {}
}
'apc/rem/':{
'apc/rem/15.0.x' : {
'apc/rem/15.0.x/15.0.1/': {
'apc/rem/15.0.x/15.0.1/dataconversion' : { 'apc/rem/15.0.x/15.0.1/dataconversion/details.txt' : {} }
}
'apc/rem/15.0.x/15.0.2/': {
'apc/rem/15.0.x/15.0.2/dataconversion' : { 'apc/rem/15.0.x/15.0.2/dataconversion/details.txt' : {} }
}
}
}
}
}
我试图通过在路径中使用参数作为/
的数量,并在较低级别的目录路径中查找前缀,以迭代方式和递归方式执行此操作,但这导致嵌套字典不一致,并且无法获得所需的字典,如上所示
有人能帮我解决这个问题吗
[编辑:目录的路径字符串始终以/
结尾,而文件的路径字符串不以]
这可以做到:
以及输出:
相关问题 更多 >
编程相关推荐