Python3:为什么文件中的导入函数只能在第一次工作?

时间:2017-09-15 10:49:49

标签: python function import

我似乎无法在任何地方找到这个问题,所以... MacBook Pro OSX Sierra,Pycharm CE,Python 3.6.0 :: Anaconda 4.3.1(x86_64)。

您好,我尝试从文件导入一个函数,它的工作原理。 然后我更改了文件中的函数,导入不起作用:函数的操作没有变化。 我删除了该函数,然后从文件重新导入,仍然无法正常工作。

示例,在文件new.py

def new(inp):
   return(inp)

然后我导入并致电:

from new import new
new(9)
Out[249]:
9

哦,我想更改文件中的功能。

new.py更改为

  def new(inp):
     if type(inp) == str:
        this = inp + "five"

     return(this)

from new import new
new(9)
Out[250]:
9

仍然只输出未修改的输入“inp”。 如果我

,同样的交易
    del new
from new import new

如果我更改函数名称(!= filename),则没有区别。

1 个答案:

答案 0 :(得分:2)

在Python 2中,这是由reload命令处理的,默认情况下现在不在Python 3中。你必须用

导入它
from importlib import reload

然后您就可以import newreload(new)