当前位置: 首页 > 面试题库 >

在Python中生成随机文件名的最佳方法

邬浩涆
2023-03-14
问题内容

在Python中,生成一些随机文本以添加到要保存到服务器的文件(名称)的一种好方法或最佳方法是,只是确保它不会被覆盖。谢谢!


问题答案:

Python具有生成临时文件名的功能,请参见http://docs.python.org/library/tempfile.html。例如:

In [4]: import tempfile

每次调用都会生成tempfile.NamedTemporaryFile()一个不同的临时文件,并且可以使用.name属性访问其名称,例如:

In [5]: tf = tempfile.NamedTemporaryFile()
In [6]: tf.name
Out[6]: 'c:\\blabla\\locals~1\\temp\\tmptecp3i'

In [7]: tf = tempfile.NamedTemporaryFile()
In [8]: tf.name
Out[8]: 'c:\\blabla\\locals~1\\temp\\tmpr8vvme'

一旦拥有唯一的文件名,它就可以像任何常规文件一样使用。 注意 :默认情况下,该文件在关闭时将被 删除
。但是,如果delete参数为False,则不会自动删除文件。

完整的参数集:

tempfile.NamedTemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None[, delete=True]]]]]])

还可以指定临时文件的前缀(作为文件创建过程中可以提供的各种参数之一):

In [9]: tf = tempfile.NamedTemporaryFile(prefix="zz")
In [10]: tf.name
Out[10]: 'c:\\blabla\\locals~1\\temp\\zzrc3pzk'

在此处可以找到有关使用临时文件的其他示例



 类似资料:
  • 问题内容: 我正在寻找创建一个可重用的函数,该函数将生成一个随机密钥,该随机密钥具有选定长度(可从2到1000+)的可打印ACSII字符。我认为可打印的ASCII字符应为33-126。它们的密钥不需要完全唯一,只要在完全相同的毫秒内生成就可以唯一(因此不起作用)。 我正在考虑将结合使用,并且可能会起作用。 这是要走的路,还是其他最佳方法? 编辑: 也将不起作用,因为它没有长度参数,这就是PHP给您

  • 问题内容: 对于一个项目,我需要一种创建数千个随机字符串同时保持较低冲突的方法。我正在寻找长度只有12个字符且只有大写的字符。有什么建议? 问题答案: 码: 输出: 5个例子: 编辑: 如果你只需要数字,使用恒定的,而不是从一个模块。 3个例子:

  • 问题内容: 从Python目录中选择随机文件的最佳方法是什么? 编辑: 这是我在做什么: 这是特别糟糕,还是有一种更好的方法? 问题答案: 关于您编辑过的问题:首先,我假设您知道使用a的风险,以及从2.6开始不推荐使用并在3.0中删除的事实。 第二,我看不到这里存在任何比赛条件。您的对象基本上是不可变的(在缓存目录列表之后,再也不会读取它),因此并发读取它不会造成任何危害。 除此之外,我不明白为什

  • 问题内容: 我收到了一个字符串列表作为输入,需要返回具有这些相同字符串但随机顺序的列表。我必须允许重复- 同一字符串在输入中可能出现一次或多次,并且在输出中必须出现相同的次数。 我看到了几种“强力”方法(使用循环,禁止使用),我目前正在使用其中一种。但是,知道Python可能会完成一项工作,对吧? 问题答案:

  • 问题内容: 有没有一种方法可以在Python中生成随机字母(例如random.randint,但用于字母)?random.randint的范围功能会很好,但是拥有仅输出随机字母的生成器总比没有好。 问题答案: 简单: 根据当前语言环境返回包含小写字母和大写字母的字符串。 从序列中返回单个随机元素。

  • 问题内容: 除了MYSQL中的行数据外,获取行的排名的最佳方法是什么? 例如,说我有一个学生名单,我想在GPA上排名。我知道我可以按GPA排序,但是让MYSQL在返回的行数据中也返回排名的最快方法是什么? 问题答案: 这将返回排名为