MST

星途 面试题库

面试题:Python标准库在类编程中的中等应用问题

假设你正在使用Python进行类编程,要实现一个文件读取类,该类能够处理不同编码格式的文件读取。请利用Python标准库中的相关模块,设计这个类,并说明你使用到了哪些标准库模块及其作用。
25.3万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import codecs


class FileReader:
    def __init__(self, file_path):
        self.file_path = file_path

    def read_file(self, encoding='utf-8'):
        try:
            with codecs.open(self.file_path, 'r', encoding=encoding) as f:
                content = f.read()
                return content
        except UnicodeDecodeError:
            print(f"无法使用 {encoding} 编码读取文件")
        except FileNotFoundError:
            print(f"文件 {self.file_path} 不存在")


使用到的标准库模块及其作用

  1. codecs:该模块提供了通用的编码和解码服务。在代码中使用 codecs.open 方法来打开文件,相比内置的 open 函数,codecs.open 对不同编码格式的支持更为灵活,能够处理多种编码格式的文件读取,例如 utf-8gbk 等。通过指定 encoding 参数,可以方便地按照指定编码格式读取文件内容。