使用django上传时创建目录

Hul*_*ulk 4 python django django-models django-views

从UI上传文件后,如何使用/ opt/files /中的当前时间戳创建新目录,并将上传的zip文件复制到此目录,并将zip文件解压缩到新目录中并维护新目录名称在变量中

def upload_info(request):
    if request.method == 'POST':
        file=request.FILES['file']
        dir = "/opt/files"
        file_name = "%s/%s" % (dir, file.name)
        form = UploadFileForm(request.POST, request.FILES)
        try:
            handle_uploaded_file( file_name , file )

def handle_uploaded_file(file_name,f):
    destination = open(file_name, 'wb+')
    for chunk in f.chunks():
        destination.write(chunk)
    destination.close()
    return
Run Code Online (Sandbox Code Playgroud)

Man*_*dan 8

使用Python的os模块可以实现创建目录(参见文档).例如:

import os
from datetime import datetime
dirname = datetime.now().strftime('%Y.%m.%d.%H.%M.%S') #2010.08.09.12.08.45 
os.mkdir(os.path.join('/opt/files', dirname))
Run Code Online (Sandbox Code Playgroud)

您可以使用os.rename(文档)按选择移动文件(前提是您具有必要的权限).可以使用Subprocesses或使用Python模块通过命令行解压缩(gzip可以在此处找到使用模块的示例).