回答Python中生成随机文件名的最佳方法的帖子显示了如何在Python中创建临时文件。
在我的情况中,我只需要一个临时文件名。
调用tempfile.NamedTemporaryFile()
在实际创建文件后返回文件句柄。
有没有办法只获取文件名?我尝试过这个:
# Trying to get temp file path
tf = tempfile.NamedTemporaryFile()
temp_file_name = tf.name
tf.close()
# Here is my real purpose to get the temp_file_name
f = gzip.open(temp_file_name ,'wb')
...
NamedTemporaryFile
会保证生成一个唯一的文件名,它会通过尝试不同的文件名来确保唯一性。仅仅获得文件名并不能保证你之后能够创建这个文件,因为在你创建之前,其他人也有可能使用相同的名字创建了一个文件,这就存在竞态条件。 - Joachim Isaksson