栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python:如果超出特定文件大小,则将文件输出到另一个文本文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python:如果超出特定文件大小,则将文件输出到另一个文本文件

一个简单的示例,如果您不想使用RotatingFileHandler。

您应该

os.stat('filename').st_size
用来检查文件大小。

import osimport sysclass RotatingFile(object):    def __init__(self, directory='', filename='foo', max_files=sys.maxint,        max_file_size=50000):        self.ii = 1        self.directory, self.filename      = directory, filename        self.max_file_size, self.max_files = max_file_size, max_files        self.finished, self.fh  = False, None        self.open()    def rotate(self):        """Rotate the file, if necessary"""        if (os.stat(self.filename_template).st_size>self.max_file_size): self.close() self.ii += 1 if (self.ii<=self.max_files):     self.open() else:     self.close()     self.finished = True    def open(self):        self.fh = open(self.filename_template, 'w')    def write(self, text=""):        self.fh.write(text)        self.fh.flush()        self.rotate()    def close(self):        self.fh.close()    @property    def filename_template(self):        return self.directory + self.filename + "_%0.2d" % self.iiif __name__=='__main__':    myfile = RotatingFile(max_files=9)    while not myfile.finished:        myfile.write('this is a test')

运行完之后…

[mpenning@Bucksnort ~]$ ls -la | grep foo_-rw-r--r--  1 mpenning mpenning    50008 Jun  5 06:51 foo_01-rw-r--r--  1 mpenning mpenning    50008 Jun  5 06:51 foo_02-rw-r--r--  1 mpenning mpenning    50008 Jun  5 06:51 foo_03-rw-r--r--  1 mpenning mpenning    50008 Jun  5 06:51 foo_04-rw-r--r--  1 mpenning mpenning    50008 Jun  5 06:51 foo_05-rw-r--r--  1 mpenning mpenning    50008 Jun  5 06:51 foo_06-rw-r--r--  1 mpenning mpenning    50008 Jun  5 06:51 foo_07-rw-r--r--  1 mpenning mpenning    50008 Jun  5 06:51 foo_08-rw-r--r--  1 mpenning mpenning    50008 Jun  5 06:51 foo_09[mpenning@Bucksnort ~]$


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455832.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号