<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用python的tempfile模塊創(chuàng)建臨時文件

          共 1346字,需瀏覽 3分鐘

           ·

          2021-08-02 13:22

          什么樣的情況下需要我創(chuàng)建臨時文件呢?我很早就知道tempfile這個模塊,但一直沒有使用過它,也沒有興趣去研究它,一度認為自己用不到這個模塊。存在即合理,合理的才能存在,想來是我不夠虛心,才沒有看到這個模塊的應用價值。

          1. 臨時文件目錄

          在linux系統(tǒng)下有一個/tmp 目錄,這個目錄下存儲的都是些臨時文件,創(chuàng)建這些臨時文件的可能是操作系統(tǒng),也可能是你安裝的某個軟件系統(tǒng),比如hadoop,你自己寫的程序也可以對這里的文件進行讀寫操作。

          臨時文件目錄下的文件夾和文件,會被定期清理,默認是30天。這就要求/tmp目錄下存儲的文件,必須都是可刪除的文件,刪除后不能對系統(tǒng)或軟件的運行產(chǎn)生影響。

          windows系統(tǒng)下也有類似的文件夾,在我的電腦上,這個目錄是C:\Users\zhangdongsheng\AppData\Local\Temp 。

          2. tempfile

          使用tempfile模塊,可以創(chuàng)建臨時文件和臨時文件夾,主要應用它的兩個函數(shù),mkstemp 和 mkdtemp

          from tempfile import mkstemp, mkdtemp

          path = mkdtemp() # 創(chuàng)建臨時文件夾
          print(path)

          _, filepath = mkstemp() # 創(chuàng)建臨時文件
          print(filepath)

          什么樣的場景下需要使用臨時文件呢?我歸納總結為一條:程序運行后,你再也不會使用這些文件時,就可以創(chuàng)建為臨時文件。

          程序一旦結束,運行期間所創(chuàng)建的文件便失去應用價值,那么這樣的文件就可以創(chuàng)建為臨時文件。所謂臨時文件,本質(zhì)上就是在/tmp 目錄下創(chuàng)建的文件,會定期清理。

          由于這些文件在程序結束后不會再被使用,那么我們也就不必關心它在哪里創(chuàng)建,不必擔心它因為長期積累而占用磁盤空間,我們甚至不用考慮為它起一個名字,tempfile模塊會為臨時文件取一個隨機的名稱。

          這些文件存在于程序運行期間,tempfile模塊簡化了我們對這些文件的管理,mkdtemp和mkstemp會返回文件夾和文件的路徑,這可以確保我們能夠?qū)ξ募A和文件進行操作但又不必去管理他們,這些管理包括新建,刪除等操作。

          3. tempfile 使用技巧

          盡管我們創(chuàng)建的是臨時文件,但在特定情況下,依然需要我們做一些簡單的管理,比如設置文件的前綴和后綴

          def mkstemp(suffix=None, prefix=None, dir=None, text=False):
          pass

          通過設置suffix 和 prefix 參數(shù),可以決定文件名稱的后綴和前綴,如果在調(diào)試程序期間你需要查看臨時文件,這些前綴和后綴可以提供一些幫助。

          dir參數(shù),決定臨時文件在哪個文件夾下被創(chuàng)建,默認是在/tmp目錄下創(chuàng)建,你可以設置為自己管理的文件夾。

          4. 總結

          在程序運行期間產(chǎn)生的中間文件既不能作為程序的輸出成果來展示,也沒有后續(xù)的應用價值,創(chuàng)建為臨時文件,則


          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产小黄片视频 | 国产精品亚洲专区在线播放麻豆 | 国产午夜精品一区二区三区四区 | 91蜜桃婷婷狠狠久久综合 | 操逼无码特写 |