首页 > 解决方案 > python中的函数以接受本地文件夹

问题描述

当方法 == POST 时,我需要从本地向服务器发布一个文件夹。

python中是否有任何请求模块,我们可以使用它将文件夹上传到服务器?

我已使用以下内容接受文件。request.files.getlist('文件')。当我在我的 html 文件的输入标记中使用此方法和 webkitdirectory 时,它会返回文件以及文件夹名称。但我只想获取文件夹名称,因为我有一个单独的函数来从文件夹中检索数据。

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        files = request.files.getlist('files')
        print(files)

HTML- Tag:
<form action="http://127.0.0.1:5000/" method="post"   enctype="multipart/form-data">
    <h3>
    <p>Parse CV</p>
    <input type="file" name="files" id="files" webkitdirectory='' multiple='' >
    <input type="submit" value="Upload CV" name="submit">
</h3>
    </form>

上面的代码将允许我上传一个目录,但它返回类似:'/uploads/123.pdf'、'/uploads/234.docx'、'/uploads/345.txt'。

相反,我想要类似 :'/uploads' 的内容,其中 uploads 是我在本地的文件夹。

那么python中有没有接受文件夹并返回文件夹名称的模块?

标签: python-3.xflask

解决方案


如果您只需要文件夹的名称(在这种情况下为上传),您可以从files变量中的文件列表中获取它,如下所示:

from os.path import dirname
files = request.files.getlist('files')
folder = dirname(files[0].filename)

推荐阅读