当“csv”模块嵌入到另一个python fi中时,无法导入该模块

2024-05-11 03:36:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在文件readCSV.py中,我编写了一个函数read_file

import csv
def read_file(fname):
    with open(fname) as f_input:
        for row in csv.DictReader(f_input):
            #do something...
    return data

我在ipython notebook中使用这个函数:

df = readCSV.read_file("f.txt")

我有个错误:

NameError: global name 'csv' is not defined

你能告诉我为什么会这样吗?我怎么解决?谢谢!你知道吗


Tags: 文件csv函数pyimportforreadinput
1条回答
网友
1楼 · 发布于 2024-05-11 03:36:19

Python只导入一次模块。因此,如果在将模块导入笔记本后更改其内容,则不会看到更改。因此,将import csv添加到已导入的模块将产生此错误。最简单的解决方案:重启内核。你知道吗

更好的解决方案是使用autoreload。这是:

In [1]: %load_ext autoreload

In [2]: %autoreload 2

将自动重新加载所有导入的模块,如果它们在执行单元格时发生更改。你知道吗

相关问题 更多 >