欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實用技巧之臨時文件的妙用

 更新時間:2023年02月27日 09:46:57   作者:費弗里  
當我們用Python編寫程序時,有時候需要臨時存儲數(shù)據(jù)且不希望占用多少內(nèi)存,這些情況下以創(chuàng)建臨時文件的方式進行處理,既不會干擾本地文件系統(tǒng),又安全省事。本文主要介紹了臨時文件的一些妙用,希望大家能夠喜歡

當我們用Python編寫程序時,有時候需要臨時存儲數(shù)據(jù)且不希望占用多少內(nèi)存,亦或是需要寫出文件到文件系統(tǒng)供后續(xù)程序讀取,這些情況下以創(chuàng)建臨時文件的方式進行處理,既不會干擾本地文件系統(tǒng),又安全省事。

而通過使用Python中的標準庫tempfile,我們就可以很方便的進行臨時文件相關(guān)操作,其主要用法有兩種:

創(chuàng)建臨時文件

tempfile的經(jīng)典用法之一是使用其TemporaryFile()配合with上下文管理器,在本地文件系統(tǒng)的臨時文件目錄下創(chuàng)建具有隨機名稱的文件,并且在with內(nèi)的代碼執(zhí)行完成后,該臨時文件會自動被銷毀:

import os
import tempfile

with tempfile.TemporaryFile() as f:
    print(f.name)
    print(os.path.exists(f.name))

print(os.path.exists(f.name))

基于這個特性,我們可以應用到很多場景下,譬如當我們希望將表格格式的字符串轉(zhuǎn)換為pandas數(shù)據(jù)框時,就可以像下面這樣做:

raw_string='''a,b,c
1,1,1
2,2,2
3,3,3
4,4,4
'''

with tempfile.TemporaryFile('w+') as f:
    f.write(raw_string)
    f.seek(0) #將指針移回文件開頭
    
    demo_df=pd.read_CSV(f)
    
demo_df

創(chuàng)建臨時目錄

前面展示了tempfile創(chuàng)建臨時文件的功能,而有些場景下,我們需要創(chuàng)建臨時文件夾,這可以基于TemporaryDirectory()來實現(xiàn),特性類似TemporaryFile()

with tempfile.TemporaryDirectory() as p:
    
    print(p)
    print(os.path.exists(p))
    
print(os.path.exists(p))

典型的應用場景是配合TemporaryDirectory()shutil生成壓縮包文件:

import shutil
import zipfile
import numpy as np

with tempfile.TemporaryDirectory() as p:
    
    # 模擬向當前臨時目錄下寫出多個文件
    for i in range(100):
        (
            pd
            .DataFrame(np.random.rand(10, 3), columns=list('ABC'))
            .to_csv(os.path.join(p, f'demo{i+1}.csv'), index=False)
        )
        
    # 將當前臨時目錄轉(zhuǎn)為zip壓縮包
    shutil.make_archive('./demo', 'zip', p)

# 查看目標壓縮文件內(nèi)的文件
[file.filename for file in zipfile.ZipFile('demo.zip').filelist]

到此這篇關(guān)于Python實用技巧之臨時文件的妙用的文章就介紹到這了,更多相關(guān)Python臨時文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python在指定目錄下查找gif文件的方法

    python在指定目錄下查找gif文件的方法

    這篇文章主要介紹了python在指定目錄下查找gif文件的方法,涉及Python操作文件的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • Python中進行表單處理的方法詳解

    Python中進行表單處理的方法詳解

    這篇文章主要為大家詳細介紹了Python中進行表單處理的方法,分別是利用Flask和Flask-WTF處理表單,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-12-12
  • Python中的流程控制詳解

    Python中的流程控制詳解

    這篇文章主要介紹了Python中的流程控制的相關(guān)資料,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-02-02
  • python實現(xiàn)beta分布概率密度函數(shù)的方法

    python實現(xiàn)beta分布概率密度函數(shù)的方法

    今天小編就為大家分享一篇python實現(xiàn)beta分布概率密度函數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 淺談PYTHON 關(guān)于文件的操作

    淺談PYTHON 關(guān)于文件的操作

    這篇文章主要介紹了PYTHON 關(guān)于文件的操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • pandas如何給DataFrame新增列并賦值

    pandas如何給DataFrame新增列并賦值

    這篇文章主要介紹了pandas如何給DataFrame新增列并賦值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 使用selenium模擬動態(tài)登錄百度頁面的實現(xiàn)

    使用selenium模擬動態(tài)登錄百度頁面的實現(xiàn)

    本文主要介紹了使用selenium模擬動態(tài)登錄百度頁面,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • 跟老齊學Python之Python安裝

    跟老齊學Python之Python安裝

    本文主要講訴了在Linux,Windows,MacOS三大系統(tǒng)中如何安裝Python環(huán)境,非常的實用,雖然前面絮絮叨叨的說了不少題外話,但都是作者的肺腑之言,還是仔細看看吧
    2014-09-09
  • python3.6 tkinter實現(xiàn)屏保小程序

    python3.6 tkinter實現(xiàn)屏保小程序

    這篇文章主要為大家詳細介紹了python3.6 tkinter實現(xiàn)屏保小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • python之lambda表達式與sort函數(shù)中的key用法

    python之lambda表達式與sort函數(shù)中的key用法

    這篇文章主要介紹了python之lambda表達式與sort函數(shù)中的key用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論