欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python 模块管理

程序员文章站 2022-04-18 10:44:08
导入新的模块 创建一个 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

调用其他目录下的模块

Python 模块管理
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)