Python OS - 检查文件是否存在,如果存在则重命名,再次检查,然后保存

标签 python python-3.x

我有一个脚本,它从表单中获取文件,重命名它并将其上传到文件夹并将记录插入数据库。我想添加以下功能:在保存文件之前,它会检查上传文件夹以确定文件名是否存在。如果存在,则循环重命名文件,然后保存文件。

我目前拥有的:

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/

相关文章:

python - 两个哈希的比较算法

python - ImportError:无法从 Django Admin Pillow 导入名称 _imaging 访问

python - Unicode字符变量导致SyntaxError

python - 将列表插入特定索引处的二维列表

python - 使用带有特定单词的 pandas 提取句子

python - 在 PANDAS 中使用 value_counts() 出现次数/频率为零

python - 使用临时列名而不是索引从 MySQL/Python 查询中检索数据

python - 如何使用枚举解压元组列表?

python - 如何从已分割的 .txt 文件中获取多行并将它们保存到不同的变量中

python - 从字符列表中计算字符串中的字符