我有一个小斗争相当长的一段时间,我的方法获得一个文件夹/文件检测,它存储在字典里。你知道吗
文件夹设置如下:
channel / subchannel1 / 1.cfg, 2.cfg, 3.cfg
channel / subchannel2 / 4.cfg, 5.cfg, 6.cfg
我想把它存储在一个字典里,子通道作为一个键,包含的文件作为一个列表,如下所示:
{'subchannel1': ['1.cfg', '2.cfg', '3.cfg'], 'subchannel2': ['4.cfg', '5.cfg', '6.cfg']}
我已经差不多完成了,但是我觉得还有更好的方法。 我的方法是:
import os
def getFiles():
testdict = {}
for directory, subdirectory, files in os.walk("channel"):
for file in files:
testdict[str(directory)] = testdict.get(str(directory),[])+[file]
return testdict
但是,如果我把它打印出来,字典就有了关键:
'channel\\subchannel1', 'channel\\subchannel2'
而不是:
'subchannel1', 'subchannel2'
调用str(子目录)而不是str(目录)会给我一个空列表作为键,我真的不明白。
当然,我可以调用str(directory).split('\\')[1]作为键来摆脱恼人的'channel\\',但我觉得有一种更平滑的方法可以做到这一点,我确信我认为过于复杂了。
有人有什么建议吗?你知道吗
来自
os.walk()
的directory
部分包含完整的相对路径。您只需要从中提取目录名。你知道吗使用^{} 来执行此操作。你知道吗
示例:
相关问题 更多 >
编程相关推荐