You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pycharm报错Expected type 'Readit', got 'str' instead的解决求助

问题修正与原因解释

错误原因

  • csv_to_list是实例方法,这类方法的第一个参数self必须接收Readit类的实例对象。
  • 你在main.py中直接通过Readit.csv_to_list(file_name)调用方法,相当于把字符串file_name传给了需要Readit实例的self参数,因此触发类型不匹配的报错:Expected type 'Readit', got 'str' instead。

修正后的代码

Stuff.py

class Readit:

    def __init__(self, file_name):
        self.file_name = file_name

    def csv_to_list(self):
        from csv import DictReader
        with open(self.file_name) as a_file:
            csv_reader = DictReader(a_file)
            # 将CSV读取结果转为列表并返回,而非仅打印
            return list(csv_reader)

main.py

from Stuff import Readit

file_name = "test.csv"
# 先创建Readit类的实例
reader = Readit(file_name)
# 通过实例调用实例方法
test_result = reader.csv_to_list()
print(test_result)

运行修正后的代码,会输出预期结果:

[{'a': '1', 'b': '2', 'c': '3'}, {'a': '4', 'b': '5', 'c': '6'}]

内容的提问来源于stack exchange,提问作者Artificer60

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 17:44:57