gpt4 book ai didi

python - 从递归 python 函数的返回值创建平面列表

转载 作者:太空宇宙 更新时间:2023-11-03 19:14:03 25 4
gpt4 key购买 nike

我正在尝试使用 python 中的 dircmp 函数来比较两个目录

def cmpdirs(dir_cmp):
for sub_dcmp in dir_cmp.subdirs.values():
cmpdirs(sub_dcmp)
return dir_cmp.left_only, dir_cmp.right_only, dir_cmp.common_files

if __name__ == '__main__':
dcmp = dircmp('dir1', 'dir2')
result = list(cmpdirs(dcmp))

我试图得到如下结果:

([file1,file2],[file3,file4],[file5,file6])

最好的方法是什么?

最佳答案

以前从未使用过 dircmp...但我认为这应该可以查看您的代码...

def cmpdirs(dir_cmp):
# make copies of the comparison results
left = dir_cmp.left_only[:]
right = dir_cmp.righ_only[:]
common = dir_cmp.common_files[:]

for sub_dcmp in dir_cmp.subdirs.values():
sub_left, sub_right, sub_common = cmpdirs(sub_dcmp)

# join the childrens results
left += sub_left
right += sub_right
common += sub_common

# return the merged results
return (left, right, common)

if __name__ == '__main__':
dcmp = dircmp('dir1', 'dir2')
result = cmpdirs(dcmp)

关于python - 从递归 python 函数的返回值创建平面列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11996735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com