跟着敲报错了:
from typing import List from data_define import Record class FileReader: def read_data(self) -> list[Record]: """读取文件的数据,读到的每一条数据都转换为REcord对象,将他们都封装到list内再返回""" pass class TextFileReader(FileReader): def __init__(self, path): self.path = path # 定义成员变量记录文件的路径 # 复写(实现抽象方法)父类的方法 def read_data(self) -> list[Record]: f = open(self.path, "r", encoding="UTF-8") for line in f.readlines(): # line = line.strip() # 直接读会出现一行空格,用strip()消除读取到的每一行数据中的\n print(line) if __name__ == '__main__': text_file_reader = TextFileReader("D:/2011年1月销售数据.txt") text_file_reader.read_data()
报错如下:
TypeError: 'type' object is not subscriptable
将list[Record]改成list解决了
但是为什么报错我也没弄懂,搜了一下:报错处理:'type' object is not subscriptable
原先使用Python3.9.6开发的项目,打包后在其他人电脑上无法运行。后检查发现,对方电脑为Win7版本,不支持Python3.9.6。而后,转用Python3.6.9重新改写项目。配置好新环境后运行项目
我个人感觉可能是版本问题,希望在以后的学习中能得以解决