如何在 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 pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串
在 Python Pandas 中使用 str.split 将字符串拆分为两个列表列
发布时间:2024/04/24 浏览次数:1124 分类:Python
-
本教程介绍如何使用 pandas str.split() 函数将字符串拆分为两个列表列。
在 Pandas 中将 Timedelta 转换为 Int
发布时间:2024/04/23 浏览次数:231 分类:Python
-
可以使用 Pandas 中的 dt 属性将 timedelta 转换为整数。
Python 中的 Pandas 插入方法
发布时间:2024/04/23 浏览次数:112 分类:Python
-
本教程介绍了如何在 Pandas DataFrame 中使用 insert 方法在 DataFrame 中插入一列。
使用 Python 将 Pandas DataFrame 保存为 HTML
发布时间:2024/04/21 浏览次数:106 分类:Python
-
本教程演示如何将 Pandas DataFrame 转换为 Python 中的 HTML 表格。
如何将 Python 字典转换为 Pandas DataFrame
发布时间:2024/04/20 浏览次数:73 分类:Python
-
本教程演示如何将 python 字典转换为 Pandas DataFrame,例如使用 Pandas DataFrame 构造函数或 from_dict 方法。
如何在 Pandas 中将 DataFrame 列转换为日期时间
发布时间:2024/04/20 浏览次数:101 分类:Python
-
本文介绍如何将 Pandas DataFrame 列转换为 Python 日期时间。