python寫文件時,使用代碼強制刷新文件


一、實驗環境

1.Windows10x64

2.anaconda4.6.9 + python3.7.1(anaconda集成,不需單獨安裝)

3.pyinstaller3.5

二、任務需求

 

三、問題描述

1.文件1中內容,添加至總文件后,被后續的文件2覆蓋!

2.文件1添加至總文件后,添加一行打印語句(打印語句執行需要時間),未被后續文件2覆蓋!

四、問題分析

懷疑python寫入文件,Windows操作系統未及時刷新,未執行真正的寫動作,存在短暫延時,需要使用文件刷新函數。

五、文件刷新

1.為什么要刷新文件呢

答:首先我們就要知道電腦是怎么儲存信息的,寫的代碼保存在緩存中當緩存滿了之后就會將內容儲存到硬盤中。

2.為什么要刷新文件

答:系統會自動儲存信息,但是儲存信息不及時,將導致快速操作同一文件失敗或者意外斷電后數據丟失。

六、文件刷新代碼例子

def save_file(context=None,file_path=None):
    """
    :param context: write content
    :param file_path: write file path
    :return:
    """
    try:
        df = open(file_path,'wb')
        if context:
            bin2str = binascii.a2b_hex(context)
        else:
            bin2str = binascii.a2b_hex(self._intercept_contents_filter)
        debug_print(bin2str)
        df.write(bin2str)
        df.flush()                                      #強制刷新
    finally:
        if df:
            df.close()

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM