tempfile.TemporaryFile
如何你的應用程序需要一個臨時文件來存儲數據,但不需要同其他程序共享,那么用TemporaryFile函數創建臨時文件是最好的選擇。其他的應用程序是無法找到或打開這個文件的,因為它并沒有引用文件系統表。用這個函數創建的臨時文件,關閉后會自動刪除。
實例一:
代碼如下:
import os
import tempfile
print 'Building a file name yourself:'
filename = '/tmp/guess_my_name.%s.txt' % os.getpid()
temp = open(filename, 'w+b')
try:
print 'temp:', temp
print 'temp.name:', temp.name
finally:
temp.close()
os.remove(filename) # Clean up the temporary file yourself
print
print 'TemporaryFile:'
temp = tempfile.TemporaryFile()
try:
print 'temp:', temp
print 'temp.name:', temp.name
finally:
temp.close() # Automatically cleans up the file
這個例子說明了普通創建文件的方法與TemporaryFile()的不同之處,注意:用TemporaryFile()創建的文件沒有文件名
輸出:
代碼如下:
$ python tempfile_TemporaryFile.py
Building a file name yourself:
temp: <open file '/tmp/guess_my_name.14932.txt', mode 'w+b' at 0x1004481e0>
temp.name: /tmp/guess_my_name.14932.txt
TemporaryFile:
temp: <open file '<fdopen>', mode 'w+b' at 0x1004486f0>
temp.name: <fdopen>
默認情況下使用w+b權限創建文件,在任何平臺中都是如此,并且程序可以對它進行讀寫。這個例子說明了普通創建文件的方法與TemporaryFile()的不同之處,注意:用TemporaryFile()創建的文件沒有文件名
代碼如下:
$ python tempfile_TemporaryFile.py
Building a file name yourself:
temp: <open file '/tmp/guess_my_name.14932.txt', mode 'w+b' at 0x1004481e0>
temp.name: /tmp/guess_my_name.14932.txt
TemporaryFile:
temp: <open file '<fdopen>', mode 'w+b' at 0x1004486f0>
temp.name: <fdopen>
默認情況下使用w+b權限創建文件,在任何平臺中都是如此,并且程序可以對它進行讀寫。
實例二:
代碼如下:
import os
import tempfile
temp = tempfile.TemporaryFile()
try:
temp.write('Some data')
temp.seek(0)
print temp.read()
finally:
temp.close()
寫入侯,需要使用seek(),為了以后讀取數據。
輸出:
代碼如下:
$ python tempfile_TemporaryFile_binary.py
Some data
如果你想讓文件以text模式運行,那么在創建的時候要修改mode為'w+t'。
實例三:
代碼如下:
import tempfile
新聞熱點
疑難解答