通过类打印所有信息

写一个类,

能够统计某个文件的纯数字字符个数

统计非空白个数

空白字符个数

文件行数

文件所在路径

通过继承方式,增加一个方法,打印所有的统计信息

附加功能:

自定一个类方法和静态方法

import os.path

class FileInfo(object):

    """统计文件的数字字符个数、

      非空白数字个数、

      空白字符个数、

      文件行数、

      文件所在路径"""

    def __init__(self,file_path,encoding_type="utf-8"):

        self.file_path = file_path

        self.encoding_type = encoding_type

        while 1:

            if not os.path.exists(self.file_path):

                self.file_path=input(

"实例化的文件路径不存在,请重新输入:")

            else:

                break

    def get_file_content(self):

        content=""

        with open(self.file_path,encoding=self.encoding_type) as fp:

            content = fp.read()

        return content

    def count_number_str(self):

        """统计文件中的数字字符个数"""

        count =0

        content = self.get_file_content()

        for i in content:

            if i>="0" and i<="9":

                count+=1

        return count

    def count_not_space_str(self):

        """统计文件中的非空白字符个数"""

        count =0

        content = self.get_file_content()

        for i in content:

            if not i.isspace():

                count+=1

        return count

    def count_space_str(self):

        """统计文件中的空白字符个数"""

        count =0

        content = self.get_file_content()

        for i in content:

            if i.isspace():

                count+=1

        return count

    def count_lines(self):

        """统计文件中的行数"""

        count =0

        content = self.get_file_content()

        for i in content.split("\n"):

            count+=1

        return count

class Advanced_FileInfo(FileInfo):

    """高级的文件信息处理类"""

    def __init__(self,file_path,encoding_type="utf-8"):

        FileInfo.__init__(self,file_path,encoding_type="utf-8") #继承父类的构造函数

    def get_content_by_line_num(self,line_number):

        try:

            return self.get_file_content().split("\n")[line_number-1]

        except:

            return None

    def print_file_info(self):

        print("文件的统计信息如下:")

        print("文件中包含的数字数量:%s" %self.count_number_str())

        print("文件中包含的非空白字符数量:%s" %self.count_not_space_str())

        print("文件中包含的空白字符数量:%s" %self.count_space_str())

        print("文件中包含的行数:%s" %self.count_lines())

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 记得多年前,一位朋友给我发来一条短信,大意是: “在大学期间培养自己的核心竞争力,适应未来社会的发展和即将面临的挑...
    Yang沐汐阅读 2,854评论 3 4
  • 那時我們還年輕 穿過殘垣斷壁蒼松古柏 我們來到山崖上 沐浴陽光 心靜如水
    維納斯的眼阅读 1,090评论 0 0
  • 物品交接和工作交接,两手都要硬,一个都不能少
    张伟kk阅读 1,490评论 0 0

友情链接更多精彩内容