如何在django中将zipfile作为File对象?

时间:2016-03-13 20:20:47

标签: python django archive zipfile

我有一个名为' src'的文件夹。其中我创建了一个名为zf的zip文件。我想将zf作为FileField对象传递给newobj.fd。

                import zipfile
                from django.core.files import File

                f='s1.zip'
                zf = zipfile.ZipFile(f, "w")
                for dirname, subdirs, files in os.walk(src):
                    zf.write(dirname)
                    for filename in files:
                        zf.write(os.path.join(dirname, filename))
                        zf.open(os.path.join(dirname, filename))
                newobj.fd= File(zf)

我为文本文件执行此操作并且可以正常工作:

                f=file('text.txt')
                newobj.fd2=File(f)
                f.close()

如何对zipfile执行相同的操作?

1 个答案:

答案 0 :(得分:0)

            import zipfile
            from django.core.files import File

            f='s1.zip'
            zf = zipfile.ZipFile(f, "w")
            for dirname, subdirs, files in os.walk(src):
                zf.write(dirname)
                for filename in files:
                    zf.write(os.path.join(dirname, filename))
            zf.close()
            newobj.fd = File(f)

这给了什么?