python版本3.6
问题:在pycharm中在同级目录下使用from ... import ... 导入本地文件(这个操作是放在整个py文件的最上面),提示“ImportError:cannot import name xxxx”。但是如果我将from ... import ... 导入本地文件操作放在函数中,就不会报错。这是什么原因?
from xxx import xxxx
def func():
使用上面的模块
运行之后报错:ImportError:cannot import name xxxx
```python
def func():
from xxx import xxxx
使用导入的模块,运行函数成功
```
我猜应该是目录结构有问题,你这么一个截图,我看不出来
不知道你这个问题是否已经解决, 如果还没有解决的话:import 模块:导入一个模块;注:相当于导入的是一个文件夹,是个相对路径。
from…import:导入了一个模块中的一个函数;注:相当于导入的是一个文件夹中的文件,是个绝对路径。
所以
from…import *:是把一个模块中所有函数都导入进来; 注:相当于:相当于导入的是一个文件夹中所有文件,所有函数都是绝对路径。
结论:
from…import *语句与import区别在于:
import 导入模块,每次使用模块中的函数都要是定是哪个模块。
from…import * 导入模块,每次使用模块中的函数,直接使用函数就可以了;注因为已经知道该函数是那个模块中的了。