Python 模块管理
程序员文章站
2022-07-07 19:18:15
导入新的模块 创建一个 calculate.py 文件 再创建一个 bin.py 文件调用 calculate.py 模块 通过 from ... import 方法来进行调用 calculate 模块中的方法 创建别名 调用其他目录下的模块 logger.py 文件内容 两种方式进行调用 注意,如 ......
导入新的模块
创建一个 calculate.py 文件
print('ok') def add(x,y): return x + y def sub(x,y): return x - y
再创建一个 bin.py 文件调用 calculate.py 模块
import sys import calculate # 导入 calculate 模块, 模块会在 sys.path 中搜索 print(calculate.add(1,2)) # 调用 calculate 模块中的 add 方法,需要写成 calculate.add() print(sys.path) # 查看 pyton 搜索模块 运行结果: ok 3 ['D:\\python_script\\alex_test\\day20', 'D:\\python_script\\alex_test', 'D:\\python35\\python35.zip', 'D:\\python35\\DLLs', 'D:\\python35\\lib', 'D:\\python35', 'D:\\python35\\lib\\site-packages']
通过 from ... import 方法来进行调用 calculate 模块中的方法
from calculate import add,sub print(add(1,2)) # 直接使用 add() 进行调用 运行结果: ok 3
创建别名
from calculate import add as plus # 这里程序只能调用 plus,而 add 则会失效 # print(add(1,2)) 报 NameError: name 'add' is not defined 错误 print(plus(1,2)) 运行结果: ok 3
调用其他目录下的模块
logger.py 文件内容
def write_log(): print("logging")
两种方式进行调用
#方法一: from web.logger import write_log write_log() 运行结果: logging #方法二: from web import logger logger.write_log() 运行结果: logging
注意,如果模块下面的 __ init__ .py 的文件内容,import 和 from...import 都会执行 __ init__ .py 中的语句。
导入模块的时候注意模块的路径
import os,sys BABE_DIR = os.path.dirname(os.path.dirname(__file__)) # 通过 __file__ 获取当前执行文件的路径及名称 # 通过 os.path.dirname() 获得上一级的路径 sys.path.append(BABE_DIR) # 系统执行环境添加需要的路径 print(sys.path)