Python中的模块引入


=Start=

缘由:

整理一下Python模块引入相关的小知识点,方便以后参考和使用。

正文:

参考解答:

在引入模块时,最好按照以下顺序进行import:

  1. 标准库模块(比如:sys/os/re等);
  2. 第三方库模块(比如:MySQLdb/requests等);
  3. 本地自开发模块;

具体到某一模块的import方式一般有以下3种:

import pandas
from pandas import DataFrame
from pandas import *
  • 在这里推荐用第一种,虽然在使用的时候要多敲一些字符,比如:pandas.foo,但是这样有独立的命名空间,不易引起歧义
  • 其次推荐第二种,但在本地代码中要注意避免重名,否则可能出现非预期的情况。
Python中的 sys.path.append() 和 sys.path.insert()

Python程序中使用 import xxx 时,Python解析器会在当前目录、Python标准库模块和第三方模块目录中搜索 xxx,如果都搜索不到就会报错。

使用sys.path.append()方法可以临时添加搜索路径,方便更简洁的import其他包和模块。这种方法导入的路径会在Python程序退出后失效。

# 1. 将指定的「相对目录」和「绝对目录」加入搜索路径中

import sys
sys.path.append('..') #表示导入当前文件的上层目录到搜索路径中
sys.path.append('/home/model') # 绝对路径
from folderA.folderB.fileA import functionA

# 2. 将「当前目录」加入搜索路径中

import os,sys
sys.path.append(os.getcwd())

# 3. 定义搜索优先顺序

import sys
sys.path.insert(1, "./model")

sys.path.insert(1, "./model")定义了添加的搜索路径的优先顺序,序号从0开始,表示最大优先级,sys.path.insert()加入的也是临时搜索路径,程序退出后失效。

参考链接:

=END=


《“Python中的模块引入”》 有 1 条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注