如何在 Python 中创建唯一的文件名
使用 uuid.uuid4()
方法创建一个唯一的文件名,例如 unique_filename = str(uuid.uuid4())
。 uuid4()
方法返回一个重复概率可以忽略不计的 UUID 对象。
import uuid
unique_filename = str(uuid.uuid4())
print(unique_filename) # a0e95771-f03d-4808-aa32-c60fa67744aa
unique_filename = uuid.uuid4().hex
print(unique_filename) # 6af9d6efe05344a685a7399a2cff43c0
UUID 将被复制的概率不是零,但它足够接近于零,可以忽略不计。
在 103 万亿个版本 4 UUID 中找到重复的概率是十亿分之一。
内置的 uuid
模块提供了不可变的 UUID 对象和用于生成 UUID 的函数。
如果我们只需要一个唯一的文件名,应该使用
uuid4()
方法。
我们可以将唯一 ID 传递给 str()
类,以将 UUID 转换为标准格式的十六进制数字字符串。
import uuid
unique_file_name = str(uuid.uuid4())
print(unique_file_name)
unique_file_name = str(uuid.uuid4())
print(unique_file_name)
如果我们希望生成不带连字符的唯一文件名,请使用 hex
属性。
import uuid
unique_file_name = uuid.uuid4().hex
print(unique_file_name)
unique_file_name = uuid.uuid4().hex
print(unique_file_name)
对象的
hex
属性将 UUID 作为 32 个字符的小写十六进制字符串返回。
hex
属性返回一个字符串,所以我们不必使用 str()
类。
如果我们只需要一个唯一的文件名,那么 uuid.uuid4()
方法应该是我们的首选方法。
如果我们需要生成具有随机名称的临时文件,请使用 tempfile.NamedTemporaryFile()
方法。
import tempfile
file = tempfile.NamedTemporaryFile()
print(file.name)
file.close()
tempfile.NamedTemporaryFile
函数返回一个类似文件的对象,可以用作临时存储区域。
我们可以使用对象上的
name
属性来访问文件系统上的文件名。
默认情况下,文件一关闭就会被删除,但我们可以将 delete
关键字参数设置为 False 以保留文件。
import tempfile
file = tempfile.NamedTemporaryFile(mode='w+b', delete=False)
print(file.name)
print(file.file)
file.close()
返回的对象具有指向底层文件对象的文件属性。
如果我们需要调整临时文件的名称,我们还可以设置可选的前缀和后缀参数。
import tempfile
file = tempfile.NamedTemporaryFile(mode='w+b', delete=False, prefix='abc')
print(file.name)
print(file.file)
file.close()
mode参数默认为w+b
,所以文件可以不关闭也可以读写。
w+b
模式以二进制模式打开文件进行写入和读取,如果存在则覆盖现有文件。
如果该文件不存在,则会创建一个具有给定名称的新文件。
使用二进制模式以便函数在所有平台上的行为一致,而不管存储的数据类型如何。
相关文章
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。
在 Python 中将整数转换为罗马数字
发布时间:2023/04/26 浏览次数:87 分类:Python
-
本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
在 Python 中将罗马数字转换为整数
发布时间:2023/04/26 浏览次数:144 分类:Python
-
本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。
在 Python 中读取 gzip 文件
发布时间:2023/04/26 浏览次数:70 分类:Python
-
本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。
在 Python 中锁定文件
发布时间:2023/04/26 浏览次数:141 分类:Python
-
本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等
在 Python 中将 PDF 转换为文本
发布时间:2023/04/26 浏览次数:196 分类:Python
-
在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。
在 Python 中创建临时文件
发布时间:2023/04/26 浏览次数:53 分类:Python
-
本文讲解了tempfile库函数的四个子函数:TemporaryFile、NamedTemporaryFile、mkstemp、TemporaryDirectory。 每个部分都提供了适当的程序,以简化对概念的理解。