在Python中,生成一些随机文本作为要保存到服务器上的文件名称的前缀,以确保不覆盖原有文件,有哪些好的或最佳的方法呢?谢谢!
我不确定为什么没有人提到这一点,但是可以将时间缩短到微秒级别,因此,一个解决方案是:
image_name = datetime.datetime.now().strftime('%Y_%m_%d_%H-%M-%S.%f')
image_name = image_name+".jpeg" #or whatever extension is needed
2023_03_21_11-08-08.734965.jpeg
这样做的好处是文件可以按时间和/或日期排序,因为排序方式相同。
在某些情况下,如果您需要随机文件名具有一定的意义,请使用 faker
模块。这将生成带有常见扩展名的“有意义”的文件名。但是,该方法可能会在一段时间后出现名称冲突。我认为,在文件名前加上 uuid
可能更好。
pip install faker
from faker import Faker
fake = Faker()
for _ in range(10):
print(fake.file_name())
链接至faker
文档:https://faker.readthedocs.io/en/master/index.html
import random
def Generate(): #function generates a random 6 digit number
code = ''
for i in range(6):
code += str(random.randint(0,9))
return code
print(Generate()+".txt")
import random
file = random.random()