【发布时间】:2021-05-23 15:01:36
【问题描述】:
def get_reply(file_name, input):
import csv
#error line
with open(file_name, "r") as csv_f, csv.reader(csv_f, delimiter = ",") as csv_reader:
return search(csv_reader, input)
错误:
in get_reply
with open(file_name, "r") as csv_f, csv.reader(csv_f, delimiter = ",") as csv_reader:
AttributeError: __enter__
为什么会出现此错误以及如何解决?在这种情况下,这个错误是什么意思?
非常感谢您的帮助,我是编程新手..
我将附上其余代码,用于上下文,旨在通过遍历 csv 文件 [user_input,response] 来处理对用户输入的回复。
代码以这种方式编写以便可以导入和重用。
def search(csv_reader, input) :
for line in csv_reader:
if input == line[0]:
return line[1]
def get_reply(file_name, input):
import csv
with open(file_name, "r") as csv_f, csv.reader(csv_f, delimiter = ",") as csv_reader:
return search(csv_reader, input)
#Test execution
list1 = get_reply("csv_dataset.txt", input("Enter Input : "))
【问题讨论】:
-
csv_reader 不是上下文管理器,请在 with 语句中使用
标签: python function file-handling attributeerror contextmanager