解决pycharm终端/cmd运行python脚本报错“ImportError/ModuleNotFoundError:No Module named …”
绝对路径:就是文件的真正存在的路径,是指从硬盘的根目录(盘符)开始,进行一级级目录指向文件。
相对路径:就是以当前文件进行一级级指向被引用的资源文件
常用命令:
../ : 表示当前文件所在目录的上一级目录
./ : 表示当前文件所指的目录(可以省略)
/:表示当前站点的根目录(域名映射的硬盘目录)
原因:在pycharm编辑器运行时,会将当前项目的所有文件夹路径都作为包的搜索路径,当前工作目录就是项目目录;而在命令行中运行时,只是搜索当前路径,如果当前路径不是项目目录,就找不到对应的自定义模块。
三种方法解决:
(1)第一种方法是在当前.py文件夹中添加项目的绝对路径:
import sys
print(sys.path)#sys.path是python的搜索模块的路径集,是一个list
sys.path.append('C:\\Users\\lxs\\Desktop\\项目目录')
(2)第二种方法是在当前.py文件中添加相对路径:
sys.path.append('../')
(3)第三种方法是直接复制代码到.py 文件头部就可以,适用于1层模块。
import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
__file__表示当前.py文件的路径
os.path.dirname(file)表示当前.py文件所在文件夹的路径
os.path.abspath()表示当前.py文件的绝对路径