Python 3.x 需要在列表中存储文件名

Python 3.x 需要在列表中存储文件名,python-3.x,Python 3.x,一旦我从服务器接收到文件进行进一步处理,我将尝试创建唯一的文件夹 当我将文件直接上载到服务器时,可以创建唯一文件夹并放置文件,但当我上载包含文件的文件夹时,无法创建唯一文件夹。有人能帮我吗 我已将多个文件上载到服务器并创建了唯一的文件夹 def create_unique_folder(root_dir): folder_name = str(uuid.uuid4()) dir_path = root_dir + '/' + folder_name try:

一旦我从服务器接收到文件进行进一步处理,我将尝试创建唯一的文件夹

当我将文件直接上载到服务器时,可以创建唯一文件夹并放置文件,但当我上载包含文件的文件夹时,无法创建唯一文件夹。有人能帮我吗

我已将多个文件上载到服务器并创建了唯一的文件夹

def create_unique_folder(root_dir):
    folder_name = str(uuid.uuid4())
    dir_path = root_dir + '/' + folder_name
    try:
        os.mkdir(dir_path)
    except Exception as e:
        print(e.args)
        return None
    return folder_name

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        resp = {}
        files = request.files.getlist('files')
        print(files)
        #print(type(files))
        folder_name = UPLOAD_FOLDER +  create_unique_folder(app.config['UPLOAD_FOLDER'])
        if folder_name != None:
            for f in files:
                print(folder_name)
                file_path = folder_name + '/' + f.filename
                f.save(os.path.join(folder_name, f.filename))
                file = f
                print('inside upload file')
                print('file')
                filename = f.filename
                ffilename = secure_filename(file.filename)
                print(filename)
但当我将文件夹传递给服务器时,我无法创建唯一的文件夹

def create_unique_folder(root_dir):
    folder_name = str(uuid.uuid4())
    dir_path = root_dir + '/' + folder_name
    try:
        os.mkdir(dir_path)
    except Exception as e:
        print(e.args)
        return None
    return folder_name

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        resp = {}
        files = request.files.getlist('files')
        print(files)
        #print(type(files))
        folder_name = UPLOAD_FOLDER +  create_unique_folder(app.config['UPLOAD_FOLDER'])
        if folder_name != None:
            for f in files:
                print(folder_name)
                file_path = folder_name + '/' + f.filename
                f.save(os.path.join(folder_name, f.filename))
                file = f
                print('inside upload file')
                print('file')
                filename = f.filename
                ffilename = secure_filename(file.filename)
                print(filename)

上面的代码创建了files变量将具有的唯一文件夹

文件=[,]

但当我上传文件夹时,我的文件变量将是 文件2=[,]

我认为,由于文件夹名随文件名一起出现,因此无法创建唯一的文件夹

有人能告诉我怎样才能得到文件格式的文件2吗

我认为,由于文件夹名随文件名一起出现,因此无法创建唯一的文件夹

你的描述有点误导人——上面的代码并不是没有创建唯一的文件夹,而是在其中创建子文件夹,如resumes/等。为此,您可以从pathlib导入路径并插入

                Path(file_path).parent.mkdir(parents=True, exist_ok=True)

在f.save…

行之前,上面的代码创建了唯一的文件夹,因为files变量将具有files=[,]但当我上载文件夹时,files变量将为file2=[,]