我正在尝试上传文件(可以是tar,tar.gz,bz2或zip之一),在上传之前,我想检查tar(或任何压缩格式)的内容是否只有文件夹在顶部,其名称与变量&name;#39;。
的名称相同在我的代码中,我可以上传文件,但我无法检查上述情况。请注意,代码中的getnames()不起作用。我们如何检查顶部只有一个具有给定名称的文件夹?
请注意,文件夹中可能没有文件。文件夹可能为空。
这是伪代码:
with Archive(fileobj=data['zxc']) as archive:
if archive.is_archive():
count=0
nam=""
for a in (get names of folders at the top):
nam=""
count+=1
if count!=1:
print "error"
elif nam!=name:
print "error2"
else:
print "correct"
答案 0 :(得分:0)
文档让我相信这是你的追索权,但我不认为' zxc' django中的归档类支持文件。
def has_leading_dir(self, paths):
"""
Returns true if all the paths have the same leading path name
(i.e., everything is in one subdirectory in an archive)
"""
common_prefix = None
for path in paths:
prefix, rest = self.split_leading_dir(path)
if not prefix:
return False
elif common_prefix is None:
common_prefix = prefix
elif prefix != common_prefix:
return False
return True