Loading

python - 模块调用

基础

调用模块常见的两种方法

  • import [模块名]
  • from [模块名] import [属性/方法]

进阶用法

调用父级目录下模块

背景介绍
目录new2(b2.py)调用上级目录new1(b1.py)

b2.py

  • 方法1
from b1 import h1

a = h1()
print(a)
  • 方法2
import b1

a = b1.h1()
print(a)

调用同级目录下模块

背景介绍
目录new0(b0.py)调用同级目录new3(b3.py)

  • 方法1
import sys
sys.path.append("..")
from new3.b3 import *

a = h3()
print(a)
  • 方法2
import sys
sys.path.append("..")
import new3.b3

a = new3.b3.h3()
print(a)

调用指定目录下的模块

背景介绍
目录new0(b0.py)调用绝对路径下 F:\Program的b2.py

import sys
import os
sys.path.append(os.path.abspath(r'F:\Program'))
from b2 import *

a = h1()
print(a)


拓展

import导入路径

import导入路径的过程
本质上就是寻找一个模块的路径

  1. 在当前目录下寻找
  2. 如果不在当前目录下,Python则会搜索在shell变量PYTHONPATH下的每个目录
  3. 如果都找不到,Python会查看默认路径,UNIX下,默认路径一般为/usr/local/lib/python/
  4. 如果还找不到,模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录

先后顺序也决定程序的结果

如果在当前目录下就有,但是你却放在了sys.path的最后面,程序就会报错,就是因为顺序原因

环境变量

PYTHONPATH
PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。

  • 打印PYTHONPATH
import os
import pprint
pprint.pprint(sys.path)

  • 设置PYTHONPATH
    方法一:命令窗口添加路径(临时添加)
    export PYTHONPATH=$PYTHONPATH:/home/ershisui
    注意:此方法只在当前命令窗口生效!
    方法二:在python 中添加(永久添加)
  import sys
  sys.path.append('/home/ershisui/')

参考:
https://www.cnblogs.com/zhuxiaoxi/p/10003609.html
https://www.cnblogs.com/lifeofershisui/p/8135702.html

posted @ 2020-08-20 11:36  Unixcs  阅读(280)  评论(0编辑  收藏  举报