我有一个脚本,它从表单中获取文件,重命名它并将其上传到文件夹并将记录插入数据库。我想添加以下功能:在保存文件之前,它会检查上传文件夹以确定文件名是否存在。如果存在,则循环重命名文件,然后保存文件。
我目前拥有的:
file = request.files['xx']
extension = os.path.splitext(file.filename)[1]
xx = str(uuid.uuid4()) + extension
## if xx exists .. xx = str(uuid.uuid4()) + extension.. loop endlessly.
file.save(os.path.join(app.config['UPLOAD_FOLDER'], xx)
最佳答案
尚未对此进行测试,但您可以使用 os.path.isfile()
检查文件是否已存在(对于目录,使用 os.path.exists
)。
import os
def save():
file = request.files['xx']
extension = os.path.splitext(file.filename)[1]
xx = generate_filename(extension)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], xx))
def generate_filename(extension):
xx = str(uuid.uuid4()) + extension
if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], xx)):
return generate_filename(extension)
return xx
关于Python OS - 检查文件是否存在,如果存在则重命名,再次检查,然后保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43107577/