来自Python recursively appending list function 尝试递归地获取与文件结构关联的权限列表。你知道吗
我有这个功能:
def get_child_perms(self, folder, request, perm_list):
# Folder contains other folders
if folder.get_children():
# For every sub-folder
return [self.get_child_perms(subfolder, request, perm_list) for subfolder in folder.get_children()]
return folder.has_read_permission(request)
返回除包含其他文件夹的文件夹以外的所有结果。你知道吗
folder <- Missing (allowed)
subfolder <- Missing (restricted)
subsubfolder <- Get this (restricted)
files
函数的输出是 [真,假,假]
另一种情况是,A=允许,R=限制
folder A
subfolder A
subsubfolder R
files
files
subfolder R
files
subfolder A
subsubfolder A
files
files
subfolder A
files
files
输出将是 [真,真,假,假,真,真,真,真]
基本问题发生在您只返回
folder permission
,当文件夹没有任何子文件夹时,当它有子文件夹时,您没有在返回结果中包含folder.has_read_permission(request)
,这很可能是导致问题的原因。你需要做-这将导致(未测试)——
为什么不 os.walk
例如,您可以构建只生成非限制目录的生成器(惰性列表)
相关问题 更多 >
编程相关推荐