Pytanie numer 10501247 w stackoverflow daje odpowiedź, jak utworzyć plik tymczasowy w Pythonie.
W moim przypadku potrzebuję tylko tymczasowej nazwy pliku.
Wywołanie tempfile.NamedTemporaryFile () zwraca uchwyt pliku po jego utworzeniu.
Czy jest sposób, aby uzyskać tylko nazwę pliku?
# 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
gwarantuje unikalną nazwę (prawdopodobnie), wypróbowując ją i ponawiając próbę, jeśli istnieje. Uzyskanie samej nazwy nie gwarantuje, że będziesz mógł faktycznie utworzyć plik później, otwierasz się na warunki rasy kogoś innego, kto używa tej samej nazwy przed tobą.