码迷,mamicode.com
首页 > 编程语言 > 详细

python写文件时,使用代码强制刷新文件

时间:2019-12-18 11:14:02      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:需求   flush   函数   pre   return   pytho   数据丢失   失败   file   

一、实验环境

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()

  

 

python写文件时,使用代码强制刷新文件

标签:需求   flush   函数   pre   return   pytho   数据丢失   失败   file   

原文地址:https://www.cnblogs.com/hester/p/12058363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!