为了账号安全,请及时绑定邮箱和手机立即绑定

Python函数看不到导入的模块

Python函数看不到导入的模块

梵蒂冈之花 2021-08-17 16:43:57
试图将 csv 读入列表。代码如下:import csvwith open('file.csv','r') as fin:    reader = csv.reader(fin)    mylist = list(reader)print (mylist)def gen_list():    with open('file.csv','r') as fin:        reader = csv.reader(fin)        mylist = list(reader)    print (mylist)def main():    gen_list()    return 0我的输出是:[['one','two','three']]Traceback():....line 11, in gen_listreader = csv.reader(fin)AttributeError: 'str' object has no attribute 'reader'我可以通过将“import csv”作为 gen_list 函数的第一行来防止发生此错误。为什么代码在放在函数中时不起作用?
查看完整描述

2 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

原来我偶然在另一个函数中使用了 csv。一旦我更改了 csv,问题就消失了


功能:


def get_list(csv):

    with open(csv,'rt') as fin:

        for line in fin:

            drList.append(gen_list(line))

        return (drList)


查看完整回答
反对 回复 2021-08-17
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

试试这个:


import csv


with open('file.csv','r') as fin:

    reader = csv.reader(fin)

    mylist = list(reader)


print (mylist)


def gen_list():

    with open('file.csv','r') as fin:

        reader = csv.reader(fin)

        mylist = list(reader)

    print (mylist)


def main():

    gen_list()

    return 0

看来,缩进reader的内open内gen_list是错误的


查看完整回答
反对 回复 2021-08-17
  • 2 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信